Accessibility Testing Tools
debt(d7/e7/b5/t7)
Closest to 'only careful code review or runtime testing' (d7). The listed detection_hints.tools (capistrano, deployer, kubernetes) are deployment tools, not accessibility auditing tools — they won't detect accessibility gaps. While axe and Lighthouse can catch ~30-40% of WCAG issues automatically, the remaining 60-70% requiring manual screen reader testing and human judgement means most accessibility failures are only found through careful manual review or user complaints. No automated tool fully detects the problem of 'relying only on automated tools.'
Closest to 'cross-cutting refactor across the codebase' (e7). The quick_fix metadata is mismatched (it describes deployment, not accessibility), but the term's why_it_matters explicitly states 'retroactively fixing accessibility in a large codebase is significantly more expensive than building it in.' Fixing accessibility issues after the fact touches templates, components, JavaScript interactions, forms, and navigation across the entire frontend — a cross-cutting effort. Common mistakes like 'testing only on desktop' and 'ignoring needs-review violations' compound into widespread remediation work.
Closest to 'persistent productivity tax' (b5). Applies to web and API contexts broadly. Proper accessibility testing requires ongoing integration into CI pipelines, manual testing workflows before each release, and developer education. It's not a one-time fix but a continuous process that affects multiple work streams — every new feature, every UI component needs accessibility consideration. However, it doesn't define the system's architecture shape, so it stays at b5 rather than higher.
Closest to 'serious trap — contradicts how a similar concept works elsewhere' (t7). The misconception field is explicit: '100% axe score means fully accessible — automated tools catch ~30-40% of WCAG criteria.' This is a serious trap because developers familiar with other testing paradigms (unit tests, linting) naturally assume that passing automated checks = passing the standard. A green CI badge from axe/Lighthouse creates false confidence that contradicts how testing tools work in other domains where high coverage actually correlates with quality. The 60-70% gap is a dangerous blind spot.
Also Known As
TL;DR
Explanation
axe-core: most accurate, integrates with Playwright/Cypress. Lighthouse: quick score in DevTools. WAVE: visual overlay. Automated tools catch: missing alt, contrast failures, missing labels. Cannot catch: meaningful alt quality, keyboard interaction, focus management. Manual: Tab navigation, NVDA+Firefox, VoiceOver+Safari.
Watch Out
Common Misconception
Why It Matters
Common Mistakes
- Relying only on automated tools
- Not running axe in CI
- Testing only on desktop
- Ignoring needs-review violations
Avoid When
- Do not treat a passing Lighthouse accessibility score as proof of full compliance — automated tools miss 60–70% of real issues.
- Avoid running only one tool; each has different rule coverage and different false-positive rates.
When To Use
- Run automated tools (axe, Lighthouse) in CI to catch obvious issues on every pull request.
- Use WAVE or browser extensions during development for quick visual feedback before formal review.
- Combine automated scans with manual keyboard-only navigation and screen reader testing before each release.
Code Examples
// No accessibility testing — missing label in PR caught 6 months later
import AxeBuilder from '@axe-core/playwright';
const results = await new AxeBuilder({page}).withTags(['wcag2aa']).analyze();
expect(results.violations).toEqual([]);