01 — Purpose

Hear what assistive technology hears

Screen reader testing reveals accessibility problems automated tooling often misses — interfaces should be tested through real interaction.

Valid HTML does not guarantee a good screen reader experience. Names can be wrong, live regions silent, landmarks missing, and dynamic updates invisible. Testing with NVDA, VoiceOver, or JAWS surfaces what users actually hear.

See screen reader announcements and manual testing workflows.

02 — Principles

Accessibility confidence requires real testing

Test common journeys — not only isolated components.

  • test common journeys — sign-in, search, form submit, modal open/close
  • verify announcements — errors, success, loading, and async updates
  • check landmark structure — header, nav, main, footer present and sensible
  • validate dynamic updates — see live regions

03 — Practice

Tools and technique

NVDA (Windows), VoiceOver (macOS/iOS), and JAWS (Windows enterprise) — pick what matches your users.

  • learn basic navigation — headings list, landmarks, forms mode, browse vs focus
  • test with keyboard only — screen reader follows focus; pointer-only UI fails here
  • listen for redundant or missing names — buttons, links, and icon-only controls
  • trigger validation and async actions — confirm users hear what changed
  • compare against semantic HTML — fix structure before adding ARIA

04 — Avoid

False confidence

Assuming semantic correctness without listening is how issues ship.

  • relying only on automation — no tool speaks your UI aloud
  • testing only visually — “I can see the label” ≠ announced name
  • assuming semantic correctness — valid markup, wrong experience
  • one quick demo — no retest after JS or copy changes
  • testing only with one engine — behaviour differs between NVDA and VoiceOver

05 — Close

Listen on every major change

Five minutes with a screen reader beats fifty automated rules on dynamic UI.

Add screen reader smoke tests to your release checklist for flows with overlays, async data, or custom widgets. File bugs with what was expected vs what was announced.

See live regions, ARIA usage, and accessibility QA checklist.