Three characters. Two, a decimal point, and a zero. "2.0%." That's the maximum cross-slope allowed on an accessible route in California under CBC 11B-403.3 — and those three characters quietly drive up the cost of affordable housing site work more than almost any other code requirement we deal with.
It's not dramatic. There's no big moment where a plan checker red-lines your sheet and says "start over." It's a slow accumulation: more spot elevations, a retaining wall that wasn't in the budget, a parking lot redesign at 60% CD because the drainage doesn't work anymore. By the time you feel it, you're already there.
Here's why 2.0% is so hard — and how we design around it.
What Does "Cross-Slope" Actually Mean?
Running slope is the slope in the direction of travel. Cross-slope is perpendicular to it. CBC 11B-403.3 limits cross-slope on any accessible route to 2.0% maximum. Running slope gets its own limit: 5.0% max before you're technically designing a ramp, which triggers the full ramp requirements under CBC 11B-405 (handrails, landings, edge protection, the works).
So on a typical sidewalk or accessible path, you've got 5% to work with fore-aft, and 2% to work with side-to-side. The 5% running slope is usually manageable. The 2% cross-slope is where sites bite back.
The same 2.0% limit applies to:
- Accessible parking stalls (CBC 11B-502.4)
- Access aisles adjacent to accessible stalls (CBC 11B-502.4)
- Curb ramp side flares — though flares get a separate 10% limit under CBC 11B-406.3, which many people miss
- 60"x60" landings at the top and bottom of ramps (CBC 11B-405.7)
- Accessible routes at building entries
On a market-rate project with generous lot coverage and a relatively flat site, these requirements are annoying at worst. On an affordable housing project in the Bay Area or Southern California — where you're maximizing every unit, every parking stall, and every square foot of site area — they're budget line items.
The Fundamental Tension: You Need Slope to Drain, Not Too Much
Parking lots don't drain themselves. You need slope to move water to catch basins. Industry standard for asphalt is 1.5% minimum to prevent ponding, with most lots designed at 2.0% to 3.0% to get reliable drainage to inlets. Concrete lots can work at slightly less, you're still targeting at least 1.0% to 1.5%.
Here's the problem: if your lot drains at 2.5% and your accessible stalls are oriented so the drainage slope runs perpendicular to the stall length, your cross-slope is 2.5%. That's a violation before a single car parks there.
The fix sounds simple: orient your accessible stalls so the drainage runs in the direction of travel (running slope), not across the stall. In practice, that's not always possible. Parking lots have geometry constraints — drive aisle directions, property lines, building entries, utility conflicts. You can't always rotate your accessible stalls to align with the drainage pattern. When you can't, you have to grade explicitly: design spot elevations at all four corners of the stall and the access aisle to demonstrate compliance. More spot elevations means more grading precision means more cost.
Why Affordable Housing Gets Hit Harder
Two code requirements combine to make affordable housing projects especially vulnerable here.
First: Fair Housing Act adaptability requirements. Under the Fair Housing Act, 100% of ground-floor units in multifamily buildings without elevators must be "adaptable" — meaning they're designed to accommodate future accessibility modifications. This doesn't change the exterior site work directly, it means a higher proportion of your units require accessible routes from parking to entry. Every route has to meet the 2% cross-slope standard.
Second: California's accessible parking ratios. CBC Table 11B-208.2 requires one accessible stall for every 25 total stalls (for lots up to 75 spaces), with one van-accessible stall for every 8 accessible stalls. Affordable housing projects — which often include a mix of carport, surface, and structured parking — end up with a significant number of accessible stalls scattered across the site. Each one needs to meet 2% in all directions, and each one needs an accessible route connecting it to the building entries.
More accessible stalls on more complex sites means more places where drainage conflicts with cross-slope. It compounds fast.
Designing to 1.5% So Construction Tolerance Doesn't Kill You
Here's something that doesn't show up in the code text, matters enormously in the field: construction tolerance.
Grading contractors work to tolerances. On a well-run project with experienced crews and competent survey, you might hold plus or minus 0.1 feet (roughly 0.08%) on a spot elevation. On a busy affordable housing job with multiple subcontractors and aggressive schedules, that tolerance can drift to 0.2 feet or more in some areas.
If you design to exactly 2.0% cross-slope and the contractor is off by 0.15%, your inspector's digital level reads 2.15%. That's a correction notice. On a project with 40 accessible stalls, that's 40 potential correction notices.
We design accessible stalls and routes to 1.5% cross-slope as a target. That gives us a 0.5% buffer against field variance. It's not in the code. It's engineering judgment. And it's one of the single most effective things you can do to avoid re-grading work during construction.
The same logic applies to running slope on accessible routes. We target 4.0% to 4.5% on routes near the 5% limit, not 4.9%.
What the Inspector's Digital Level Is Actually Looking For
DSA (Division of State Architect) inspectors and local building department inspectors use digital levels — typically a Stabila or similar — to verify cross-slope in the field. The level reads to 0.1% increments. They'll set it on the surface in question, wait for it to stabilize, and log the reading.
On DSA-reviewed projects (K-12 schools, community college facilities), this is systematic. On local-jurisdiction affordable housing projects, the rigor varies by inspector., assume they know what they're doing. The inspectors who specialize in accessible features have seen every creative interpretation of "approximately 2%" that exists, and they don't find them charming.
Common field failures we see:
- Curb ramp flares at parking lot entries. The ramp itself may be fine, the flares slope toward the accessible stall at 4-5% as they transition to the parking lot surface. Any wheelchair user traversing that transition gets the full slope on their wheels.
- Transitions between parking and sidewalk. The parking lot drains at 2.5%, the sidewalk is level, and the 18-inch transition zone between them is a 5% wedge. That wedge is on the accessible route.
- Landing at building entries. Code requires a 60"x60" landing at every accessible entry. When the grade has been trimmed to fit around a building entry that didn't account for the accessible route, that landing ends up sloped at 3-4%.
- Carport post locations. In affordable housing with covered parking, carport columns often end up exactly where you'd want to place a catch basin or break a drainage slope. The column wins. The drainage slope gets redirected across the accessible stall.
Parking Lot Layout Strategy: Work With the Drainage, Not Against It
The practical technique for laying out accessible stalls in a sloped parking lot: identify the primary drainage direction first, then orient accessible stalls so their length (and therefore running slope) matches that direction. The cross-slope becomes the secondary drainage direction, which you can control to stay under 2%.
If the lot drains at 2.5% from north to south, and you run your drive aisles east-west, your stalls face north-south. The 2.5% slope is now the running slope on the accessible stalls (legal, as long as it's under 5%). The cross-slope — east-west — is whatever you design it to be, and you design it to 1.5%.
This isn't always possible. When the drainage has to run across the accessible stall orientation (common in lots where the low corner is dictated by utility connections or existing grades), you use spot elevations to "tent" the accessible stall: design a slight crown or valley in the stall surface so the runoff exits at both sides rather than crossing the full stall width at 3%. It's more grading work, it keeps you compliant and keeps the drainage functional. This is exactly the kind of solution our site planning team works through during schematic grading — before the drainage infrastructure is sized and locked in.
Path of Travel: The Full Sequence
ADA compliance isn't just about the stall. CBC requires a compliant path of travel from every accessible stall to the accessible entry of the building it serves. That path has to meet:
- 5% maximum running slope (anything steeper triggers ramp requirements)
- 2% maximum cross-slope
- 48" minimum clear width (California — federal ADA requires 36", California is stricter)
- 60"x60" level landings at top and bottom of any ramp, and at any change in direction
- No abrupt changes in level greater than 1/4" vertical (or 1/2" with a 1:2 bevel)
On a multi-building affordable housing project, that path of travel has to be traced from every accessible parking stall to every building entry. On a 60-unit project with three buildings, multiple stair/ramp cores, and a mix of carport and surface parking, you can have 20+ distinct accessible routes. Each one has to be drawn, graded, and verified.
This is also where stormwater management intersects with accessibility in ways that aren't obvious at first. Bioretention basins, pervious pavement sections, and drainage swales all affect how and where you can route accessible paths. A swale that cuts across the natural accessible route adds a crossing structure. Pervious pavement has surface texture requirements that need to meet CBC 11B-402.2 (firm, stable, slip-resistant). These coordination points need to happen early — not during construction documents when everything is already locked.
The Cost Impact, Honestly
We don't have a single number that applies to every project., here's what we've seen add cost when cross-slope compliance isn't worked out in schematic design:
- Retaining walls added mid-design to hold grade at accessible stall areas: $15,000 to $60,000 depending on length and height
- Parking lot redesign to reorient accessible stalls: 20 to 40 hours of civil engineering time, plus coordinated updates to landscape, utilities, and architecture
- Re-grading work during construction to correct cross-slope violations: $5,000 to $25,000 per area, depending on whether you're reworking subgrade or just resurfacing
- Construction administration time to manage correction notices and re-inspection: 8 to 20 hours per round of corrections
None of these numbers are exotic. They're real budget impacts on projects where the accessible route grading was treated as a detail to be resolved later.
Resolve it in schematic design. Show spot elevations at accessible stalls in the 60% CD submittal, not the 100%. Coordinate with the architect on entry landing grades before the building footprint is locked. Walk the drainage pattern against the accessible route alignment. These are all things we do as part of standard construction administration support — and they're far cheaper to fix on paper than in field.
Three Characters. Serious Money if You Ignore Them.
2.0% won't show up as a line item in your budget. It'll show up as a change order, a correction notice, a re-grading scope, or a retaining wall that appeared out of nowhere in late CDs. The requirement itself is reasonable — no one should be rolling a wheelchair across a 4% slope in a parking lot., it requires active design attention to execute correctly on sites that have real drainage constraints.
If you're working on an affordable housing project in California and the accessible route grading hasn't been explicitly designed yet — not assumed, designed — give us a call. We'll tell you where the conflicts are before they cost you.
Reco Prianto, PE is the principal civil engineer at Calichi Design Group. He has designed accessible site improvements for affordable housing developments, K-12 schools, and mixed-use projects across California under DSA, HCD, and local jurisdiction review.