Skip to main content

Accessibility Tools & Web Accessibility (a11y) Testing Reference

A consolidated reference of tools for building and verifying accessible digital experiences — from the assistive technology real users rely on, to the linters, browser extensions, and CI/CD tools that catch issues before they ship.

Big picture

Accessibility tooling splits into two families that are easy to conflate but serve different purposes:

  1. Assistive technology (AT) — what disabled users actually use to interact with your product (screen readers, magnifiers, voice control). Testing with these is the closest you get to the real user experience.
  2. Developer/QA tooling — linters, browser extensions, and automated test libraries that catch a subset of accessibility issues automatically, early, and repeatedly.

Neither family is a substitute for the other — see the recommended workflow below.


1. Assistive Technology (Manual Testing)

Testing with real assistive technology is the most reliable way to know whether an experience is actually usable, since automated tools only catch a fraction of real-world issues.

1.1 Screen Readers

Screen readers matter most for manual testing because they represent the direct experience of users who are blind or have severe visual impairments.

ToolPlatformsLicenseKey Features
JAWSWindowsCommercialEnterprise-standard; industry-leading ARIA support, advanced keyboard navigation, Braille display support
JAWS InspectWindowsCommercialCompanion tool that converts JAWS's spoken output into readable text logs — useful for debugging and writing bug reports
NVDA (NonVisual Desktop Access)WindowsFree / Open-sourceLightweight, frequently updated, excellent standards compliance — the default choice for most manual testing on Windows
VoiceOvermacOS, iOS, iPadOSFree (built-in)Native Apple screen reader; gesture-based navigation; essential for Safari/iOS testing
TalkBackAndroidFree (built-in)Gesture-based spoken feedback; essential for Android testing
ChromeVoxChromeOS, Chrome browserFreeOptimized specifically for ChromeOS and web apps
Practical tip

NVDA + Firefox and VoiceOver + Safari are the two combinations most commonly recommended for baseline manual testing, since they're free, well-supported, and reasonably representative of real-world usage.

1.2 Screen Magnifiers & Low Vision Tools

For users with low vision who rely on enlarging content rather than (or in addition to) a screen reader.

ToolPlatformsLicenseKey Features
ZoomTextWindowsCommercialAdvanced magnification integrated with screen reading
Windows MagnifierWindowsFree (built-in)Native zoom with multiple magnification modes
macOS ZoommacOSFree (built-in)System-wide zoom, picture-in-picture, customizable magnification

1.3 Voice Recognition & Hands-Free Navigation

For users who interact with a computer entirely through voice.

ToolPlatformsLicenseKey Features
Dragon NaturallySpeakingWindowsCommercialIndustry-leading speech recognition and full computer control
Apple Voice ControlmacOS, iOS, iPadOSFree (built-in)Full device navigation, dictation, voice commands

1.4 AI-Powered Visual Assistance

Newer AI-driven tools that help users interpret their surroundings and on-screen/real-world content.

ToolPlatformsLicenseKey Features
Be My EyesiOS, AndroidFreeLive volunteer video assistance plus AI-powered image descriptions
Google LookoutAndroidFreeUses AI to recognize text, labels, objects, currency, and surroundings

2. Developer & QA Tooling (Automated Testing)

Automated tools can't fully validate accessibility, but they're excellent at catching common, well-defined issues cheaply and repeatedly — ideally before a human ever needs to test manually.

2.1 IDE Linters (catch issues while coding)

Shifting detection as early as possible — right into the editor — is the cheapest place to catch a defect.

ToolTarget UsersEnvironmentLicenseKey Features
axe DevTools LinterDevelopersVS Code, JetBrains, GitHubFree & PaidFlags missing labels, ARIA misuse, semantic HTML issues
eslint-plugin-jsx-a11yReact/Next.js developersNode.js / JS IDEsOpen-sourceStatic AST analysis of JSX for accessibility issues

2.2 Browser-Based Testing Tools (inspect rendered pages)

These run against the actual rendered DOM, which catches issues that static analysis can't (e.g., computed color contrast, dynamic ARIA states).

ToolPrimary UseBrowsersLicenseKey Features
axe DevToolsDeveloper auditingChrome, Firefox, EdgeFree & PaidLow false-positive rate; actionable, specific remediation guidance
Accessibility InsightsManual assessmentsChrome, EdgeOpen-source"FastPass" automated checks, a guided Assessment mode, keyboard-navigation visualization
WAVEVisual inspectionChrome, Firefox, EdgeFreeIn-page overlays highlighting errors and page structure directly on the page
Google LighthouseAutomated auditingChrome DevToolsOpen-sourceAccessibility score alongside SEO, performance, and best-practices scores
StarkDesign/dev collaborationChrome, Firefox, Safari, Edge, FigmaFree & PaidContrast analysis, color suggestions, vision simulators, touch-target inspection — useful before code is even written

2.3 Test Automation & CI/CD Tools

These bake accessibility checks into the development pipeline so regressions are caught automatically, the same way a linter or unit test suite would.

ToolTarget UsersStackLicenseKey Features
Pa11yDevOps engineersCLI, Node.jsOpen-sourceScriptable, CI/CD-friendly command-line accessibility testing
cypress-axeFront-end QACypressOpen-sourceIntegrates axe-core into Cypress E2E test suites
playwright-axeFront-end QAPlaywrightOpen-sourceCross-browser automated accessibility testing inside Playwright
GuidepupAdvanced automation engineersJavaScript, TypeScriptOpen-sourceAutomates actual screen reader behavior inside automated test suites — closer to real AT testing than DOM-based scanners
Limits of automated scanners

Tools built on axe-core (axe DevTools, cypress-axe, playwright-axe, Pa11y) typically catch only 30–50% of real accessibility issues — things like missing alt text, poor contrast, and unlabeled form fields. Issues around logical reading order, meaningful focus management, and whether content actually makes sense read aloud require manual testing with real screen readers.


3. Tool Selection Guide

Quick lookup by goal:

GoalRecommended Tools
Test the actual screen reader experienceJAWS, NVDA, VoiceOver, TalkBack
Test Chromebook accessibilityChromeVox
Test low-vision usabilityZoomText, Windows Magnifier, macOS Zoom
Test voice-only interactionDragon NaturallySpeaking, Apple Voice Control
Evaluate AI-assisted accessibilityBe My Eyes, Google Lookout
Catch issues while codingaxe DevTools Linter, eslint-plugin-jsx-a11y
Inspect rendered web pagesaxe DevTools, WAVE, Accessibility Insights, Lighthouse, Stark
Automate accessibility testing in CI/CDPa11y, cypress-axe, playwright-axe, Guidepup

A mature accessibility process layers multiple tool categories across the development lifecycle, rather than relying on any single tool:

  1. During developmentaxe DevTools Linter, eslint-plugin-jsx-a11y catch issues before code is even committed.
  2. During browser testingaxe DevTools, Accessibility Insights, WAVE, Lighthouse validate the rendered page.
  3. Manual validationJAWS, NVDA, VoiceOver, TalkBack confirm the experience actually works for real AT users.
  4. Low-vision testingZoomText, Windows Magnifier, macOS Zoom confirm usability at high zoom levels.
  5. Automation & CI/CDPa11y, cypress-axe, playwright-axe, Guidepup lock in gains and prevent regressions on every build.
Why this layering matters

No single stage catches everything. Linters catch structural mistakes early and cheaply; browser tools catch computed/rendered issues; manual AT testing catches usability and comprehension issues no scanner can detect; and CI/CD automation ensures none of the above regresses silently over time.


See also: Software Testing — Fundamentals, Playwright & AI-Powered Testing for how axe-core (via @axe-core/playwright) fits into a broader Playwright-based test suite, and where accessibility testing sits within the wider testing pyramid.