| name | a11y-pass |
| description | WCAG 2.2 AA fix pass for web UI. Use before shipping, or for requests about accessibility, a11y, keyboard navigation, screen readers, contrast, labels, focus, landmarks, target size, reduced motion, or ARIA. |
Accessibility Pass (WCAG 2.2 AA)
Accessibility is whether a person can finish a real task without an avoidable barrier. Repair the failing path, then prove the repair in the rendered interface.
Triage one rendered user path
Write one path before opening a checker: entry → action → result/recovery. Name the user-facing outcome, the affected UI, and the smallest viewport or assistive setup that can expose the failure.
| Path point | Inspect | Repair when it fails |
|---|
| Entry | landmark, page title, reading order, skip link | give the page a named, reachable start |
| Action | visible focus, native semantics, keyboard order, target size | repair the control before adding ARIA |
| Change | errors, loading, dialogs, live updates, motion | announce the meaningful change without stealing focus |
| Recovery | error copy, focus destination, retained input, retry | return the person to a specific next action |
| Layout | 200% and 400% zoom, reflow, narrow viewport | remove horizontal loss and clipped controls |
Start with native HTML. Use ARIA only to express a relationship or live behavior native elements cannot supply. Never use a role, audit score, or automated pass as proof that the path works.
Prove the path in the interface
- Tab forward and backward from the browser chrome through completion. Record focus order, visible indicator, and any trap.
- Trigger the failure state with the keyboard. Confirm focus stays purposeful, the error is programmatically associated, and entered data survives.
- Read the affected region with a screen reader or inspect its computed name, role, value, state, and description. Check the update is announced once.
- Measure the final rendered foreground/background pair and test reflow at 200% and 400%. Include text over imagery and disabled-looking controls if they carry meaning.
- Repeat with reduced motion when the interaction animates. The non-motion path must still expose progress and completion.
A screenshot can support a claim; it cannot prove keyboard order or announcements. An automated audit can find candidates; it cannot clear the path.
Report a repair ledger
Use this row format for every finding:
| Path / criterion | Observed failure | Repair | Evidence | Residual risk |
|---|
| Submit → invalid email | focus lands on an unnamed summary; inline error is silent | move focus to named summary, link field error with aria-describedby, retain value | keyboard trace; computed accessibility tree; 400% capture | screen-reader wording needs product review |
Separate a confirmed defect from a design concern. State the browser, assistive technology or inspection method, viewport/zoom, and exact reproduction step. If the artifact is unavailable, stop and ask for the rendered path rather than inventing evidence.
Delivery and handoff
Prioritize blockers to task completion, then frequent-path defects, then polish. Send component lifecycle or form-state questions to the owning skill when the defect is a state-design problem rather than a WCAG repair.
Ship check
Contract (generated)
Canonical detail: contract.json.
- Route: A rendered interface needs WCAG 2.2 AA repair findings verified by keyboard, browser, or measurement.; avoid: The request is only cognitive load or multilingual expansion without an accessibility defect.
- Exclude: Do not self-attest a fix without browser or source evidence. (+1 in contract.json)
- Stop / handoff: Stop when the user path or target artifact is unavailable. (+1 in contract.json); receives [component-states, form-ux, responsive-layout, theming, art-direction, cognitive-a11y, color-system, data-viz, deslop-ui, empty-states, i18n-ready, improve-existing-website, micro-motion, web-typography] -> sends [tastecheck-pass]
- Output: prioritized WCAG repair ledger with measured verification
- Evidence:
table_with_evidence with status, reason, remediation, evidence, provenance.