---
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 (`