Accessibility Testing WCAG Guide: Complete Handbook
Complete WCAG accessibility testing guide. WCAG 2.2 levels, POUR principles, axe-core, screen reader testing, keyboard navigation, CI/CD integration, and legal compliance.

In this article
- Why accessibility testing matters
- WCAG 2.2 quick reference
- The four principles (POUR)
- Testing tools
- How to test accessibility
- Accessibility test cases (template)
- Integrating accessibility into CI/CD
- Legal requirements by region
- Common accessibility mistakes
- Continue your accessibility journey
- Frequently asked questions
Last updated: June 29, 2026 · 9 min read · By SoftwareTestPilot Editorial Team
Accessibility testing is now a legal requirement in many jurisdictions. This guide gives you the WCAG framework, testing tools, and best practices. For broader context, see our Manual Testing Tutorial and AI Testing Tools guides.
Why accessibility testing matters
- Legal requirement — ADA, EAA, Section 508, and AODA enforce WCAG compliance.
- 15–20% of users have some form of disability.
- SEO benefit — accessible sites rank higher.
- Better UX for everyone — accessibility improves usability for all.
- Business risk — non-compliance can cost $100k+ in lawsuits.
WCAG 2.2 quick reference
WCAG (Web Content Accessibility Guidelines) has three conformance levels:
| Level | Description | Target |
|---|---|---|
| A | Minimum accessibility | All sites |
| AA | Industry standard | Most sites (required by most laws) |
| AAA | Gold standard | Specialized sites |
Most legal frameworks require AA conformance.
The four principles (POUR)
Perceivable
Information must be presentable in ways users can perceive.
| Guideline | Example test |
|---|---|
| Text alternatives for images | <img alt="..."> on every image |
| Captions for videos | <video> has <track kind="captions"> |
| Color contrast ≥ 4.5:1 | WebAIM contrast checker |
| Resizable text up to 200% | Browser zoom without breaking layout |
Operable
Interface must be operable by all users.
| Guideline | Example test |
|---|---|
| Keyboard accessible | Tab through all interactive elements |
| No keyboard traps | Focus can move away from any element |
| Skip navigation links | “Skip to main content” present |
| Focus visible | Focused element has a clear outline |
Understandable
Information and UI must be understandable.
| Guideline | Example test |
|---|---|
| Language declared | <html lang="en"> |
| Consistent navigation | Same nav across pages |
| Input assistance | Forms have labels and error messages |
| Error identification | Errors clearly explained, not “Invalid input” |
Robust
Content must work with assistive technologies.
| Guideline | Example test |
|---|---|
| Valid HTML | Passes the W3C validator |
| ARIA labels | Complex widgets have proper ARIA |
| Status messages announced | role="status" for dynamic content |
| Screen reader compatibility | NVDA, JAWS, VoiceOver tests |
Testing tools
Automated tools (catch 30–50% of issues)
| Tool | Type | Free tier |
|---|---|---|
| axe-core | Open-source library | Free |
| axe DevTools | Browser extension | Free + paid |
| Lighthouse | Chrome built-in | Free |
| WAVE | Browser extension | Free |
| Pa11y | CLI tool | Free |
| Axe Runner | CI integration | Paid |
Manual testing tools
| Tool | Purpose |
|---|---|
| Screen reader (NVDA, JAWS, VoiceOver) | Test with assistive tech |
| Keyboard only | Tab through without mouse |
| Screen magnifier | Test with 200% zoom |
| High contrast mode | Test in Windows High Contrast |
| Color contrast analyzer | Verify WCAG color ratios |
Screen readers by platform
| Screen reader | Platform | Cost |
|---|---|---|
| NVDA | Windows | Free |
| JAWS | Windows | $90/license |
| VoiceOver | macOS / iOS | Free (built-in) |
| TalkBack | Android | Free (built-in) |
| ChromeVox | Chrome OS | Free |
How to test accessibility
Step 1 — Automated scan
# Using axe-core CLI
npm install -g @axe-core/cli
axe https://example.com
# Using Lighthouse
npx lighthouse https://example.com --only-categories=accessibilityStep 2 — Keyboard testing
- Unplug mouse (or use only keyboard).
- Tab through every page.
- Verify all interactive elements are reachable.
- Verify the focus indicator is visible.
- Verify there are no keyboard traps.
- Test Enter/Space activation.
Step 3 — Screen reader testing
- Enable a screen reader (NVDA on Windows, VoiceOver on Mac).
- Navigate using screen reader only.
- Verify all images have alt text.
- Verify form fields have labels.
- Verify headings are properly nested.
- Verify dynamic content is announced.
Step 4 — Visual testing
- Zoom to 200% — no horizontal scrolling.
- Test with high contrast mode.
- Test color contrast with WebAIM checker.
- Verify focus indicators are visible.
Accessibility test cases (template)
TC_A11Y_001 — All images have alt text
- Open browser.
- Navigate each page.
- Inspect every image.
- Verify
<img alt="...">orrole="img" aria-label="...".
TC_A11Y_002 — Forms have labels
- Open each form.
- Verify each input has an associated
<label>. - Verify required fields have
aria-required="true".
TC_A11Y_003 — Color contrast meets WCAG AA
- Use the WebAIM contrast checker.
- Verify normal text ≥ 4.5:1.
- Verify large text (≥18pt) ≥ 3:1.
TC_A11Y_004 — Keyboard navigation works
- Tab from top to bottom of the page.
- Verify all interactive elements are reachable.
- Verify the focus indicator is visible.
- Press Enter/Space on each focused element.
TC_A11Y_005 — Screen reader announces dynamic content
- Trigger a dynamic update (e.g. search results).
- Verify the screen reader announces the update.
- Verify
aria-live="polite"oraria-live="assertive"is used appropriately.
Integrating accessibility into CI/CD
# GitHub Actions
- name: Accessibility scan
run: |
npm ci
npx pa11y-ci --config pa11y.json
# Or using axe-core in tests
- name: Run accessibility tests
run: npm run test:a11yFor broader CI/CD patterns, see our CI/CD Pipeline Testing Tutorial and GitHub Actions for Automation Testing guide.
Legal requirements by region
| Region | Law | Required WCAG level |
|---|---|---|
| USA (federal) | Section 508 | AA |
| USA (state) | ADA | AA |
| EU | EAA (2025) | AA |
| Canada | AODA | AA |
| UK | Equality Act 2010 | AA |
Common accessibility mistakes
Mistake 1 — Adding alt text to decorative images
Decorative images should have alt="", not descriptive alt text. Screen readers will skip them.
Mistake 2 — Using color alone to convey meaning
Color-blind users can't distinguish red from green. Use icons, labels, or patterns in addition to color.
Mistake 3 — Missing form labels
<!-- BAD -->
<input type="email" placeholder="Email" />
<!-- GOOD -->
<label for="email">Email address</label>
<input id="email" type="email" />Mistake 4 — No keyboard alternatives
Every mouse-driven action must have a keyboard equivalent. Test with Tab and arrow keys.
Mistake 5 — Low contrast colors
/* BAD */
color: #ccc;
background: #fff; /* contrast 1.6:1 */
/* GOOD */
color: #595959;
background: #fff; /* contrast 7:1 */Mistake 6 — Auto-playing audio/video
Disorienting for screen reader users. Always provide a way to pause.
Mistake 7 — Missing skip navigation
Add a “Skip to main content” link as the first focusable element. Critical for keyboard users.
Mistake 8 — Aggressive form timeouts
Don't auto-logout users with disabilities. Warn first and allow extension.
Continue your accessibility journey
Frequently asked questions
What is WCAG?
WCAG (Web Content Accessibility Guidelines) is the international standard for web accessibility, published by the W3C.
What's the latest WCAG version in 2026?
WCAG 2.2 — published October 2023. Most jurisdictions currently require AA conformance.
Is accessibility testing automated or manual?
Both. Automated tools catch roughly 30–50% of issues. Manual testing with screen readers and keyboard-only navigation catches the rest.
Which accessibility tool is best in 2026?
axe-core for automated scanning. NVDA (Windows) or VoiceOver (Mac) for screen reader testing. All are free.
Is accessibility testing a legal requirement?
Yes — in most jurisdictions (USA ADA, EU EAA, Canada AODA, UK Equality Act). Non-compliance can result in lawsuits.
How do I get started with accessibility testing?
1) Run the axe DevTools extension on your site. 2) Fix the issues it reports. 3) Test using only the keyboard. 4) Test with a screen reader.
Practice these questions
Run a live QA mock interview tailored to this topic and get per-skill scoring in minutes.
Was this article helpful?
Keep building your QA edge
Pillar guidesContinue reading
Join the QA Community
Connect with fellow testers, share job leads, and get career advice.
Stop Reinventing the Wheel. Upgrade Your QA Arsenal.
Take your testing skills from beginner to Lead Engineer. Supercharge your daily workflow with our premium digital resources.
- ⚡ Ready-to-use testing strategy templates
- 🔥 Advanced API & UI automation guides
- ⏱️ Save 10+ hours a week on test planning


