Skip to contentAltstamp
Menu

Screen reader testing: a first test for site owners

Updated . A 9 minute read.

Line drawing of headphones lying in front of a laptop whose top heading block is ringed in orange
Fig. 1Headphones lie in front of a laptop where the top heading of the page wears the orange ring

The keys for a first test

NVDA means the NVDA key: Insert by default, or 0 on the number pad with Num Lock off. The letters work in browse mode, NVDA's reading mode for web pages.

  • Start NVDA (installed copy)Control+Alt+N
  • Stop speakingControl
  • Read the window titleNVDA+T
  • Read from here onLaptop layout: NVDA+ANVDA+Down Arrow
  • Next heading, or next heading at a levelAdd Shift to go backH1 to 6
  • Next landmarkD
  • Next link, button, form field, graphicKBFG
  • List the links, headings, form fields, buttons or landmarksNVDA+F7
  • Leave a form field you typed inNVDA+Space switches browse and focus mode by handEscape
  • Quit NVDANVDA+QthenEnter

What a checker cannot hear

An automated checker reads your page's code and reports what is missing: an image with no alt attribute, a field with no label. It cannot tell you that the alt text says "image1", that the headings make no sense in order, or that a booking error appears on screen and is never spoken. W3C says it plainly in its guide to choosing tools:

Tools cannot check all accessibility aspects automatically. Human judgement is required.

The Department of Justice's web guidance says the same about automated checkers: they need to be used carefully, a clean report does not mean everything is accessible, and they should be paired with a manual check. A screen reader is the most direct manual check there is, because it is what a blind visitor uses to hear your page. Our testing tools comparison lists it in the manual kit beside the checkers; this guide is the session itself, sized for an owner, not an auditor.

Before you start: one screen reader, one browser

Use the screen reader your own computer already supports. NVDA is a free, open-source screen reader for Windows from NV Access; it runs on 64-bit Windows 10 and 11. Download it from nvaccess.org and let the installer set up the Control+Alt+N shortcut that starts it. VoiceOver is the screen reader built into macOS; Command-F5 turns it on or off. On an iPhone it lives in Settings, Accessibility, VoiceOver, and Apple's VoiceOver Practice there lets you try every gesture before it does anything.

Pair it with one browser and stay with it for the whole session: NVDA's user guide lists Firefox, Chrome and Edge among the programs it reads in browse mode, and on a Mac, Safari is Apple's own. A problem that shows up in one pairing and not another is still a lead worth writing down.

Three habits that save the first ten minutes

  • Read along. NVDA's Speech Viewer, ticked in the Tools menu, shows in a window every word it speaks. VoiceOver shows its words in a caption panel. You will miss half of what you hear at first; the text lets you check.
  • Know the off switch. Control silences both. Command-F5 turns VoiceOver off; NVDA+Q, then Enter, quits NVDA.
  • Read, do not just Tab. Tab moves only between links, buttons and fields, so a Tab-only test never hears a heading, a paragraph or a picture. Read with the arrow keys and the jump keys on the card above. When NVDA reaches a text field it switches to focus mode so your typing goes into the field, and Escape takes you back to reading.

What to listen for

You do not have to listen to a whole page from top to bottom. Both screen readers can pull a page apart into lists: NVDA's Elements list (NVDA+F7) shows the links, headings, form fields, buttons or landmarks, and VoiceOver's rotor (VO-U) does the same on a Mac. On an iPhone, turn the rotor to Headings and swipe down. A screen reader user skims a page this way, so the lists are also the fastest test you can run.

Scroll sideways to see every column.

Eight things to listen for, what a good page says, and the sound of a problem
Listen forWhat you should hearA warning signCriterion
Page titleA title that names this page, then the siteThe same title on every page, or just "Home"2.4.2A
HeadingsOne main heading for the page, then a heading for each section, nested like an outlineNo headings at all, or big bold text the list never shows1.3.1, 2.4.6A, AA
LandmarksBanner, navigation, main and content info regionsNo main region, so nothing jumps past the menu1.3.1, 2.4.1A
Link namesNames that say where each link goes: "Book a table""Click here" or "Learn more" five times, or a web address read out2.4.4A
Form labelsEach field's label as you reach it, and "required" where it isOnly the field type, such as "edit", with no name3.3.2, 4.1.2A
Image alt textWhat each picture that matters shows; decoration skippedA file name such as IMG_2231.jpg, or "graphic" alone1.1.1A
ButtonsWhat each button does: "Add to cart, button""Button" and nothing else, usually an icon4.1.2A
Errors and messagesA form error, or "Added to cart", spoken as it appearsSilence: the message is only shown in red3.3.1, 4.1.3A, AA

Two rows deserve a second listen. A list of links strips away the sentence around each link, and WCAG lets a link take its meaning from that sentence, so five "Learn more" links are a sign to check each in place rather than a fail on their own. And the last row is the one checkers miss most: whether a message that appears after you press something is spoken at all. Test it on purpose by sending a form with a mistake in it.

The takeaway

Title, headings, landmarks, links, labels, images, buttons, messages. If those eight sound right on the pages that earn money, a screen reader user can find, understand and use them.

Line drawing of headphones with sound lines beside a laptop, one block ringed in orange
Fig. 2Headphones beside a laptop, for a page that is heard rather than seen

A 15-minute routine for one page

Start with the page that earns money: the booking form, the cart, the quote request. Fifteen minutes is enough for one page if you keep to the lists and write as you go. The sheet below holds the steps; mark each one as you finish it, and print or copy the result for whoever fixes the site.

Your 15-minute test sheet

Pre-filled for a bakery's cake order page, part way through. Mark each step as you go, then print or copy it.

  1. Set up 0 to 2 min

    Open the page, then start the screen reader. On NVDA, tick Speech Viewer in the Tools menu to read along; VoiceOver shows its words in a caption panel.

  2. Title and first words 2 to 4 min2.4.2

    Read the window title (NVDA+T). Start reading from the top for thirty seconds. Is the first thing you hear useful, or a cookie banner and a logo file?

  3. Headings 4 to 6 min1.3.1, 2.4.6

    Open the headings list (NVDA+F7, or the rotor with VO-U). Does it read like an outline of the page?

  4. Landmarks 6 to 7 min1.3.1

    Press D, or choose Landmarks in the rotor. Is there a main region you can jump to past the menu?

  5. Links 7 to 9 min2.4.4

    Open the links list. Would each name make sense to someone who heard nothing else? Watch for repeats, file names and bare web addresses.

  6. One form 9 to 12 min3.3.2, 3.3.1, 4.1.3

    Tab through your contact or booking form. Each field should say its label and whether it is required. Send it with a mistake: is the error read out?

  7. Images and buttons 12 to 14 min1.1.1, 4.1.2

    Step through graphics (G, or VO-Command-G) and buttons (B, or VO-Command-J). Does each picture that matters say what it shows, and each button what it does?

  8. Write it down 14 to 15 min

    Note each problem in the words you heard, with the page and the criterion number, before you forget what it sounded like.

3 sound right, 3 with a problem, 2 not done yet.

Run it again on the home page and on one long article, and you have tested the three kinds of page most small sites are made of. Then repeat it after every theme update, because a new theme can change the headings and buttons on every page at once.

Where each problem gets fixed

Most of what you hear wrong is fixed in your own editor, without a developer. The rest lives in the theme or the plugin that drew the part, and goes to whoever maintains it.

  • Title. The page title or SEO title field in your site builder. Name the page first, then the business.
  • Headings. Use the editor's Heading 2 and Heading 3, never bold text at a bigger size. A heading the list cannot find is not a heading.
  • Link names. Rewrite the link text to say where it goes. Our accessible website examples show the pattern on a working page.
  • Alt text. Write it in the image's alt field, and leave it empty for decoration. The alt text examples cover product photos, logos and icons.
  • Labels and errors. Usually the form plugin's settings; the guide to accessible forms has the label, hint and error pattern.
  • Unnamed buttons and missing landmarks. These are in the theme's code. Send the theme maker or your developer what you heard and the criterion number.

The most common button fix is one attribute. An icon button with no text has no name to speak, so it is read as "button" and nothing else; an aria-label gives it one (4.1.2 Name, Role, Value):

<!-- Heard as "button" -->
<button><svg aria-hidden="true">…</svg></button>

<!-- Heard as "Search, button" -->
<button aria-label="Search"><svg aria-hidden="true">…</svg></button>

What a screen reader test cannot tell you

A screen reader hears the code, not the screen. Everything a sighted visitor with low vision, a keyboard user or a deaf visitor depends on can be broken while the page sounds perfect:

  • Contrast and colour. Pale grey text is read out like any other. Measure it with the contrast check.
  • Visible focus. The screen reader knows where focus is even when no ring shows it. Walk the page by keyboard with the screen reader off, using the focus order checklist.
  • Captions. A video's sound track plays whether or not it is captioned; check against the caption requirements.
  • Zoom and reflow. Whether text still fits at 200 percent (1.4.4) and the page reads at 320 CSS pixels wide without sideways scrolling (1.4.10).

Your own ear has limits too. You are a new user of a tool that people use for hours a day, and W3C's guide to involving users lists the user not knowing the assistive technology's keys as one of the causes of a problem, beside the page's code, the browser and the screen reader itself. So treat what you hear as leads, not verdicts, and do not read one clean session as proof that a page works for everyone. The same guide gives the warning that applies to any single test:

Avoid assuming that input from one person with a disability applies to all people with disabilities.

What to do with the result

Record each problem against its criterion in the WCAG 2.2 AA checklist. When the list is long, or the page takes payments, a manual audit by people who use screen readers every day is the next step. A screen reader test, however careful, is not a claim that a page meets WCAG 2.2 Level AA.