--- name: accessibility-testing description: >- Test for WCAG 2.2 AA compliance with axe-core + Playwright, keyboard navigation audits, screen reader testing, ARIA pattern validation, and legal compliance mapping (ADA, EAA, Section 508). Automated tools catch 30-40% of issues — this skill covers automated and manual testing together. Use when: "accessibility," "a11y," "WCAG," "screen reader," "axe," "keyboard navigation," "ARIA," "ADA compliance." Not for: cookie-consent/GDPR compliance — use compliance-testing; pixel-diff visual regression — use visual-testing. Related: playwright-automation, compliance-testing, visual-testing, ci-cd-integration. license: MIT metadata: author: kindlmann version: "2.0" category: specialized --- Make an application usable by people who rely on keyboards and assistive technology, and prove it with tests that run in CI. A button that passes `toBeVisible()` can still be unreachable by keyboard; a page with zero axe violations can still be impossible to operate with a screen reader. Automated tools catch 30-40% of accessibility issues — this skill covers the automated scan plus the keyboard, screen reader, and ARIA-state testing that catch the other 60-70%. ## Discovery Questions Check `.agents/qa-project-context.md` first — if it exists, use it as the foundation and skip anything already answered. **Requirements and compliance** (sets the target level and audit obligations) - What WCAG conformance level is required — A, AA, or AAA? AA is the practical legal default. - What laws apply — ADA, EAA/EN 301 549, Section 508, AODA? Each maps to a WCAG level. - Is there a VPAT or accessibility statement to maintain, or contractual a11y clauses from enterprise/government customers? **Current state** (tells you whether you're auditing or preventing regressions) - Has an audit run before? What were the findings, and what's already in the backlog? - Does the design system carry accessibility guidance and accessible components? **Testing infrastructure** (determines what you can automate vs. must do by hand) - Is automated a11y testing already in CI? - Which screen readers does the team test with — VoiceOver, NVDA, JAWS, TalkBack? ## Core Principles 1. **Automated testing catches 30-40% of issues — no more.** axe-core finds missing alt text, low contrast, missing labels, and invalid ARIA. It cannot tell you whether alt text is meaningful, whether tab order is logical, or whether a custom widget is operable. Passing axe is necessary, not sufficient. Crucially, axe ships **no automated rule** for several WCAG 2.2 success criteria (2.4.11 focus-not-obscured, 2.5.7 dragging movements, and 2.5.8 target-size only partially) — a green axe run does not equal 2.2 AA conformance. 2. **Semantic HTML first, ARIA as last resort.** Native elements (`