← Back to the grid

Research — Accessibility · Early Access

PROWAG checks for curb ramps, sidewalks and crosswalks, with the citation behind every threshold.

A library of 26 deterministic check functions against PROWAG (Public Right-of-Way Accessibility Guidelines), covering scoping (R201–R214), pedestrian access routes, curb ramps, detectable warnings, crosswalks, signals, transit stops and parking (R301–R311), and protruding objects, operable parts, ramps, stairs, handrails and signs (R401–R410). Each check returns pass/fail, the violations, notes on anything skipped for missing input, the cited section, and a regulatory-status tag, since PROWAG is only enforceable where DOJ or USDOT have adopted it.

PROWAG

Interactive demos

See harnesses →the toolsets that sit on top of these functions.

What it can do

  • check_curb_ramp

    Perpendicular, parallel and blended-transition curb ramps (R304): running slope 1:12 (1:20 for blended), cross slope 1:48, clear width, landing, clear area, flares and gutter grade break.

  • check_detectable_warning

    Truncated-dome geometry and placement (R305): base diameter, top diameter, height exactly 0.2 in, spacing, 24 in surface extent, and location by ramp, island or rail-crossing context.

  • check_sidewalk_slope

    Sidewalk running and cross slope and continuous clear width (R302), including the adjacent-roadway-grade exception.

  • check_crosswalk

    Crosswalk pedestrian signal timing and roundabout/multilane treatments (R306).

  • check_ramp

    Ramp geometry (R407), delegating handrail checks to check_handrail (R409).

  • check_on_street_parking_scoping

    How many accessible on-street parking spaces are required (R211, Table R211).

  • prowag_propose_fix

    For a failing check, the slope, width, length, height or timing that passes the same check when re-run, with what else it changes (a flatter slope can mean regrading or a longer run). Scoping facts and technically-infeasible claims are never changed.

A worked case

Input

Perpendicular curb ramp, running slope 10 %, cross slope 1 %, run length 10 ft.

Result

Not compliant — running slope 10% exceeds the 8.33% maximum (PROWAG R304.2.1), and the run is under the 15 ft the length exception requires. A run of 15 ft or more is exempt from the running-slope cap under the harness’s reading of the length exception; that exemption has no upper bound, which the validation sheet flags as an open question.

Where this stands

v1 draft, unvalidated. No domain expert (ADA/accessibility consultant or city ADA coordinator) has reviewed this code yet. An AI-assisted pre-review across all 26 functions is a QA pass, not a sign-off.

Open questions

  • Whether the unbounded 15 ft length exception for curb ramp running slope is right to automate.
  • Whether the 0.2 in dome height should be an exact match with zero tolerance, given manufacturing variance.
  • Whether the zero-tolerance placement rule for parallel curb ramp detectable warnings is correct.
  • Alterations and technical-infeasibility exceptions are not modeled by these functions.
All domains →