A persistent context standard for building accessible UI with AI — native-first (Compose, SwiftUI) and web — with a write-time hook that blocks WCAG anti-patterns before they land.
Follow the accessibility rules in CurbCut.md strictly:
https://github.com/SUDARSHANCHAUDHARI/CurbCut/blob/main/CurbCut.md
The ramp cut into a sidewalk was built for wheelchair users — and it ended up helping everyone: strollers, luggage, delivery carts. Accessibility done at the source isn't a favor to a minority. It's baseline quality that lifts every user.
That's the idea an advisory guideline can't express. It's what lets one document drive both the model's behavior and the CI gate that stops it.
Deterministically checkable from source — clickable divs, missing labels, suppressed focus, dp-sized text. The hook denies the write.
Needs reasoning over intent — focus order, live-region correctness. Applied proactively, with the reasoning shown.
Announcement quality, plain language — only a real screen-reader session proves it. The AI may prepare and request; never fake it.
The single most common thing an AI generates wrong — a clickable box — is AUTO-blocked. Keyboard users can't reach the first one; the hook won't let it be written.
<div onClick={save}>Save</div> // not focusable · no Enter/Space // no role · invisible to AT
<button type="button" onClick={save}> Save </button> // keyboard + focus + semantics, free
Not a guideline PDF — a working system you install.
Principle Zero, POUR, compliance profiles, the AI behavior contract — every rule tagged AUTO/ASSISTED/HUMAN.
Blocks anti-patterns as they're written. Configurable warn/block, inline disables, tested.
ESLint flat config, detekt & SwiftLint seeds, a GitHub Action gate on every PR.
Forms, Buttons, Modals, Images, Live regions — real idiomatic code for web, Compose, SwiftUI.
Methodology + turnkey runner with an enforcement condition. No numbers claimed until a real run.
Auto-invoking operating procedure so accessibility is applied on every UI file you touch.
Enforcement fidelity tiers by what's actually machine-checkable — that's physics, not a shortcut. Guidance is full-depth everywhere; automatic blocking is honest about where it's reliable.
| Platform | Guides | Hook blocking | Lint pack |
|---|---|---|---|
| Web | deep | reliable | eslint |
| Jetpack Compose | deep | partial | detekt seed |
| SwiftUI | deep | experimental | seed |
SwiftUI accessibility is inferred at render, so it can't be grepped like JSX — its guides are complete while its automatic enforcement is honestly labeled experimental. We don't oversell what a build can't prove.