Automated Testing
Catches: missing alt text, color contrast, missing labels, invalid ARIA, heading structure
A comprehensive directory of tools for testing web, document, and mobile accessibility.
Reading time: 8 minutes
Accessibility testing requiresboth automated and manual testing. Automated tools catch about 30-40% of issues; the rest require human judgment.
Catches: missing alt text, color contrast, missing labels, invalid ARIA, heading structure
Catches: keyboard navigation, screen reader experience, focus management, meaningful alt text
Install these in Chrome, Firefox, or Edge for quick testing.
| Tool | Best For | Cost |
|---|---|---|
| axe DevTools | Comprehensive automated scanning; developer-friendly; integrates with DevTools | Free (Pro available) |
| WAVE | Visual overlay showing issues in context; great for beginners | Free |
| Accessibility Insights | Guided manual testing; FastPass for quick checks; detailed reports | Free (Microsoft) |
| ARC Toolkit | Professional-grade; WCAG mapping; detailed technical reports | Free |
| Lighthouse | Built into Chrome DevTools; includes accessibility audit | Free (built-in) |
Installaxe DevToolsfor automated testing andAccessibility Insightsfor guided manual testing. Together they cover most needs.
Test with real screen readers to understand the user experience.
| Screen Reader | Platform | Cost | Notes |
|---|---|---|---|
| NVDA | Windows | Free | Most popular for testing; works best with Firefox |
| VoiceOver | macOS, iOS | Free (built-in) | Cmd+F5 to start on Mac; essential for iOS testing |
| JAWS | Windows | $$$ | Industry standard; 40-minute demo mode available |
| Narrator | Windows | Free (built-in) | Win+Ctrl+Enter to start; improving rapidly |
| TalkBack | Android | Free (built-in) | Essential for Android app testing |
| Tool | Use Case |
|---|---|
| WebAIM Contrast Checker | Quick online check of two colors |
| Colour Contrast Analyser | Desktop app with eyedropper for screen sampling |
| Color Oracle | Simulates color blindness on your screen |
| Chrome DevTools | Rendering tab Emulate vision deficiencies |
Integrate accessibility testing into your development pipeline.
| Tool | Integration |
|---|---|
| axe-core | JavaScript library; works with any test framework |
| Pa11y | Command-line tool; CI-friendly; generates reports |
| Playwright | Built-in accessibility testing with axe integration |
| Lighthouse CI | Run Lighthouse audits in CI; track scores over time |
import { axe, toHaveNoViolations } from 'jest-axe';
expect.extend(toHaveNoViolations);
test('page has no accessibility violations', async () =>{
const { container } = render(<MyComponent />);
const results = await axe(container);
expect(results).toHaveNoViolations();
});
# Test a single URL
pa11y https://example.com
# Test with specific standard
pa11y --standard WCAG2AA https://example.com
# Output as JSON for CI
pa11y --reporter json https://example.com
| Platform | Tool | Notes |
|---|---|---|
| iOS | Accessibility Inspector (Xcode) | Inspect accessibility properties of UI elements |
| iOS | VoiceOver | Settings Accessibility VoiceOver |
| Android | Accessibility Scanner | Google app that audits UI for issues |
| Android | TalkBack | Settings Accessibility TalkBack |