Stockio

Screen Reader Testing: An NVDA and VoiceOver Workflow

Test website tasks with NVDA and VoiceOver, interpret announcements correctly, and turn confusing screen reader behavior into actionable bug reports.

By Noor Haddad

Accessibility Specialist ·

On this page

Screen-reader testing is not a matter of making every pixel speak. It checks whether the page exposes meaningful structure, names, states, and changes so people can complete tasks without depending on visual presentation. A useful test starts with a specific goal and records what information and controls were available along the way.

Set a realistic testing scope

Choose a small set of complete journeys: finding a policy, editing an address, recovering from a form error, and confirming an order. Include the states between pages, not just the initial screen. A search page that reads well before typing may become unusable when results update silently.

Use the word counter to review verbose labels and instructions uncovered during testing. It cannot predict speech quality, but comparing a forty-word control name with a concise alternative can expose unnecessary repetition. The final decision should come from listening in context, not from imposing arbitrary word limits.

Select browser and screen-reader combinations based on your audience and support policy. NVDA on Windows and VoiceOver on Apple devices provide useful complementary coverage, but passing two combinations does not establish universal support. Follow the WAI testing overview when integrating these checks into a wider evaluation process.

Learn the difference between reading and interacting

Screen readers provide navigation beyond Tab. Users may jump through headings, landmarks, links, form controls, and tables. If your test only tabs between buttons, it misses much of the information architecture that makes a page usable.

NVDA distinguishes browse mode from focus mode in many web interactions. Browse mode supports reading and structural navigation; focus mode sends more keys to controls. VoiceOver uses its own navigation commands and interaction model. Do not assume a key that reaches a custom widget in one setup behaves identically in another.

Read the NVDA user guide and the VoiceOver user guide before interpreting an unfamiliar result as a product bug. Incorrect settings or accidental mode changes can produce misleading failures.

Start by navigating a simple known page. Confirm that you can pause speech, move by headings, reach links, enter a text field, and activate a button. Learning these fundamentals prevents the application under test from becoming your first encounter with the assistive technology itself.

Check structure before individual controls

Begin with the page title and main heading. Then inspect the heading list and landmarks. Can you tell what the page is for, find the main content, and distinguish repeated navigation regions? A visually bold paragraph is not a heading unless it is exposed as one.

Inspect the accessibility tree when an announcement is surprising. Browser developer tools can show computed roles, names, descriptions, and states. Compare those computed values with the source and the actual spoken output. A correct-looking DOM attribute is not evidence that the final accessible name is correct.

<main id="main-content">
<h1>Billing settings</h1>
<section aria-labelledby="payment-title">
  <h2 id="payment-title">Payment method</h2>
  <button type="button">Update payment method</button>
</section>
</main>

This simple structure provides multiple ways to reach the same task. Avoid adding named regions to every small card, however. Too many landmarks can make the navigation list less useful. Prefer a few meaningful page regions and a coherent heading hierarchy.

Check images in context. A decorative image should not interrupt reading, while an informative chart needs the information necessary for the task. Alternative text is not automatically good because it exists or because it describes every visible detail.

Follow dynamic tasks and listen for state changes

Operate controls rather than only reading their names. An expandable section should expose its expanded state. A checkbox should announce checked and unchecked changes. A disabled action should communicate its unavailable state without pretending that a clickable div has acquired native disabled behavior.

Pay close attention to focus management after dialogs, route changes, validation failures, and deleted items. If speech stops or resumes at the top of the document unexpectedly, inspect the active element and determine whether it still exists. Focus bugs often look like screen-reader bugs until the document transition is examined.

Test asynchronous updates with realistic latency. A result count may need a polite status announcement, but the entire results grid rarely needs to be reread after every change. Multiple live regions can compete, producing repeated or interrupted messages that are harder to understand than silence.

Use expected meaning, not exact spoken wording, as your primary assertion. Different screen readers may announce a button's role before or after its name. The important question is whether users receive the name, relevant state, and necessary instructions. Exact phrases can change with verbosity settings and software versions.

Turn observations into reproducible evidence

Record the operating system, browser version, screen reader version, important settings, starting state, and keystrokes. Include the expected information and the actual announcement. A short transcript is often more useful than a video with no explanation of which key was pressed.

Separate conformance failures from usability concerns and support limitations. A missing label is a concrete implementation defect. An unusually verbose but accurate announcement may require a content decision. A suspected browser issue should be reduced to a small reproduction before the application accumulates unnecessary workarounds.

Pair these sessions with the contrast checker and visual keyboard checks, since screen-reader testing does not establish visual accessibility. Review shared findings in your accessibility backlog and identify component-level causes that affect multiple routes.

Finally, involve experienced disabled users where possible. A developer's learning session is valuable for finding technical problems, but it does not reproduce the strategies, preferences, or efficiency of someone who relies on the technology every day. Treat your own testing as one layer of evidence, not a substitute for user participation.

Key takeaways

  • Test complete journeys with documented assistive technology combinations.
  • Learn reading modes and structural navigation before diagnosing failures.
  • Inspect computed semantics alongside spoken announcements.
  • Exercise dynamic states, focus transitions, and delayed responses.
  • Report reproducible evidence and complement technical checks with user input.
Featured sponsor

Reach designers & developers at work

Put your product next to the tools people use every day. One sponsor per placement, no tracking pixels.

Become a sponsor

Keep reading

Related articles

More in Accessibility
Accessibility

ARIA Live Regions for Dynamic Content and Toast Messages

Choose polite or assertive announcements, build persistent live regions, and design toast messages that communicate updates without stealing focus or overwhelming users.

Includes: Word counterTheo OkaforTheo Okafor
Accessibility

How to Write Alt Text for Functional and Informative Images

Choose alt text by an image's purpose, distinguish decorative from functional content, and write useful alternatives for charts, linked images, and product photos.

Includes: Word counterTheo OkaforTheo Okafor
Accessibility

Accessible Form Validation: Labels, Errors and Recovery

Create form errors people can understand and recover from using explicit labels, linked instructions, accessible summaries, and careful focus management.

Includes: Word counterTheo OkaforTheo Okafor
AI for Design & UX

8 Best AI Tools for UX Research

Compare eight AI-assisted UX research platforms for interviews, surveys, and feedback analysis, with practical strengths, limitations, and advice for choosing a suitable workflow.

Includes: Word counterPiotr KowalskiPiotr Kowalski
UX & Research

10 Best UX Books Every Designer Should Read

Find ten enduring books on usability, research, product thinking, and inclusive design, with notes on who will benefit and how to put each idea to work.

Includes: Word counterNoor HaddadNoor Haddad
Laptops & PCs

8 Best Mac Apps Everyone Should Install

Explore eight useful Mac apps for passwords, documents, window management, media, and backups, with practical advice on what to install and what to skip.

Includes: Word counterSofia MarchettiSofia Marchetti