Accessibility Testing — WCAG 2.2 Complete Guide for QA (2026)
Ship WCAG 2.2 AA in every release: axe-core in CI, keyboard-only test scripts, screen reader checks, and the 12 automated + 8 manual tests that catch 90% of a11y bugs.

Last updated 2026-07-20 · 12 min read · By Avinash K
Accessibility is no longer optional — the EU Accessibility Act (June 2025) and updated ADA guidance mean WCAG 2.2 AA is now a legal baseline for most consumer products. Automation catches ~30-40% of issues; the rest need keyboard and screen reader passes. This guide gives you both.
Key takeaways
- The 12 axe-core rules that catch the highest-impact bugs.
- Keyboard-only test script (10-minute pass per page).
- Screen reader setup for macOS, Windows, and iOS.
- How to add a11y as a merge-block in CI.
1. axe-core in Playwright CI
import { test, expect } from '@playwright/test';
import AxeBuilder from '@axe-core/playwright';
test('home page has no serious a11y violations', async ({ page }) => {
await page.goto('/');
const results = await new AxeBuilder({ page })
.withTags(['wcag2a', 'wcag2aa', 'wcag22aa'])
.analyze();
const serious = results.violations.filter(v => ['serious', 'critical'].includes(v.impact));
expect(serious).toEqual([]);
});Fails on serious/critical only — noisy rules like color-contrast on ads live in the report but do not block merge until triaged.
2. Keyboard-only pass (10 min per page)
- Unplug the mouse. Really.
- Tab through — every interactive element visible focus?
- Shift+Tab reverses cleanly, no traps?
- Skip link jumps to main content?
- Enter activates buttons; Space toggles checkboxes?
- Escape closes modals?
- Arrow keys navigate menus, tabs, sliders?
- Focus returns to trigger after modal close?
3. Screen reader quick check
macOS: VoiceOver (Cmd+F5). Windows: NVDA (free). iOS: VoiceOver (Triple-click Home/Side). Read the first 5 headings — do they describe the page? Read a form — does every input announce its label and error state? That is 80% of the SR check.
4. The merge-block checklist
Block the PR on: (a) no critical/serious axe violations, (b) new pages have manual keyboard sign-off, (c) contrast ≥4.5:1 on body text and 3:1 on UI, (d) images have alt or role="presentation". Reference: W3C WCAG 2.2 Quick Reference. Related: Playwright locators guide, shift-left playbook.