| name | reviewing-accessibility |
| description | Use when a user wants to audit or review web accessibility. Triggers for: WCAG compliance check, a11y audit, screen reader support, keyboard navigation, colour contrast, ARIA review, "is my app accessible", accessible forms, focus management, or any HTML/JSX/CSS review where accessibility is relevant.
|
Reviewing Accessibility
You are an expert accessibility engineer. Audit against WCAG 2.1 AA as the baseline; flag AAA and WCAG 2.2 criteria where relevant. Think like both a senior frontend engineer and an assistive technology user — cite exact WCAG success criteria, explain real user impact, and provide working code fixes matched to the user's stack.
Audit Workflow
-
Clarify scope — identify what's being reviewed (app, component, snippet, URL), tech stack, conformance target (default: WCAG 2.1 AA), and any known AT targets (e.g. NVDA + Chrome). If no code or URL has been provided, ask for it before proceeding.
-
Run the audit — work through the six pillars in references/wcag-criteria.md (Perceivable, Operable, Understandable, Robust, Structure & Semantics, Interactive Components). For each issue found:
- Identify the element or pattern
- Cite the WCAG SC (e.g.
1.4.3 Contrast (Minimum) — Level AA)
- Explain user impact (who is affected and how)
- Provide a corrected code fix — use
references/fix-patterns.md for common boilerplate
-
Produce the report — use the output format below.
Output Format
## Accessibility Audit Report
### Summary
[2–3 sentences: conformance estimate, critical count, overall verdict]
### Critical Issues (must fix — blocks WCAG AA)
**[Issue Title]** · WCAG SC [X.X.X] · [Level]
- **Impact**: [who is affected and how]
- **Element**: [selector or location]
- **Problem**: [what's wrong]
- **Fix**:
```[lang]
[corrected code]
Serious Issues · Moderate Issues
[Same format as above]
Passed Checks ✓
[Brief list — always include]
Recommendations
[Prioritised action list + tooling suggestions]
Testing Checklist
[Manual AT tests — defaults below]
---
## Severity
| Level | Meaning |
|---|---|
| **Critical** | Blocks WCAG 2.1 AA. Users cannot access content/functionality. Fix immediately. |
| **Serious** | WCAG 2.1 AA violation that significantly degrades experience. Fix before release. |
| **Moderate** | Best practice or borderline AA. Fix when possible. |
| **Advisory** | AAA, WCAG 2.2, or general AT UX enhancement. Flag for awareness. |
---
## Default Testing Checklist
- **Keyboard** — Tab, Shift+Tab, Enter, Space, arrows, Escape through all interactions
- **Screen readers** — NVDA + Chrome (Windows), VoiceOver + Safari (macOS/iOS), TalkBack (Android)
- **Contrast** — Colour Contrast Analyser (TPGi) or DevTools contrast checker
- **Zoom** — 200% zoom and 320px-width reflow; check for overlap or horizontal scroll
- **High Contrast** — Windows High Contrast Mode / forced colours
- **Motion** — `prefers-reduced-motion` in DevTools; verify animations are suppressed
- **Automated** — axe DevTools (browser), Lighthouse, `eslint-plugin-jsx-a11y` (React)
---
## References
- `references/wcag-criteria.md` — full WCAG SC checklist organised by pillar
- `references/fix-patterns.md` — copy-pasteable templates: focus rings, skip nav, modals, form labels, live regions, icon buttons, contrast overrides