← Home ← Codex ← DEBT
Browse by Category
+ added · updated 7d
← Back to glossary

Accessibility Testing Tools

accessibility PHP 5.0+ Intermediate
debt(d7/e7/b5/t7)
d7 Detectability Operational debt — how invisible misuse is to your safety net

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.'

e7 Effort Remediation debt — work required to fix once spotted

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.

b5 Burden Structural debt — long-term weight of choosing wrong

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.

t7 Trap Cognitive debt — how counter-intuitive correct behaviour is

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.

About DEBT scoring →

Also Known As

axe Lighthouse accessibility WAVE

TL;DR

axe, Lighthouse, WAVE catch 30-40% of issues automatically — manual keyboard and screen reader testing is required for the rest.

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

Automated tools cannot test cognitive accessibility, logical reading order, or whether ARIA labels are meaningful — these require a human tester.

Common Misconception

100% axe score means fully accessible — automated tools catch ~30-40% of WCAG criteria.

Why It Matters

Automated accessibility tools catch around 30–40% of WCAG violations — the rest require human judgement about context, cognitive load, and interaction patterns. Running axe or Lighthouse in CI prevents regressions but is not a substitute for manual testing with a screen reader. The tools are most valuable when integrated into the development workflow so issues are caught before they compound — retroactively fixing accessibility in a large codebase is significantly more expensive than building it in.

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

💡 Note
The bad example ships a missing label that no developer noticed because there was no automated check in the PR pipeline — axe would have caught it at zero cost.
✗ Vulnerable
// No accessibility testing — missing label in PR caught 6 months later
✓ Fixed
import AxeBuilder from '@axe-core/playwright';
const results = await new AxeBuilder({page}).withTags(['wcag2aa']).analyze();
expect(results.violations).toEqual([]);

Added 16 Mar 2026
Edited 31 Mar 2026
Views 73
Rate this term
No ratings yet
🤖 AI Guestbook educational data only
| |
Last 30 days
0 pings T 0 pings W 0 pings T 0 pings F 2 pings S 2 pings S 0 pings M 0 pings T 0 pings W 0 pings T 0 pings F 0 pings S 0 pings S 0 pings M 0 pings T 0 pings W 0 pings T 1 ping F 2 pings S 0 pings S 1 ping M 0 pings T 1 ping W 1 ping T 0 pings F 0 pings S 1 ping S 0 pings M 0 pings T 0 pings W
No pings yet today
No pings yesterday
Amazonbot 18 Perplexity 17 ChatGPT 6 Google 6 Ahrefs 4 SEMrush 4 Unknown AI 3 Meta AI 2 Majestic 1 Bing 1
crawler 57 crawler_json 5
DEV INTEL Tools & Severity
🟠 High ⚙ Fix effort: High
⚡ Quick Fix
Deploy code changes without stopping the server — use PHP-FPM graceful reload, backwards-compatible DB migrations, and feature flags
📦 Applies To
PHP 5.0+ web api
🔗 Prerequisites
🔍 Detection Hints
Deployment requiring maintenance mode; DB migration locking tables; no graceful shutdown handling in FPM
Auto-detectable: ✗ No capistrano deployer kubernetes
⚠ Related Problems
🤖 AI Agent
Confidence: Low False Positives: Medium ✗ Manual fix Fix: Medium Context: File Tests: Update

✓ schema.org compliant