Guide

A screen-reader test script for PDFs

Twelve minutes with NVDA or VoiceOver will tell you more than any checker. Here is the sequence, and what each step is actually testing.

About 12 minutes · moderate

Before you start

NVDA (Windows, free): download from nvaccess.org. Insert is the NVDA key. Insert + Q quits.

VoiceOver (macOS, built in): Cmd + F5 toggles it. Ctrl + Option is the VO key.

Turn the volume down first. Screen readers are loud and fast by default.

The script

1. Open the document. What is announced? It should be the document title. If it is the filename, you have found 07-001 or 06-003. This is the first thing every user hears. Fix →

2. Bring up the heading list. NVDA: Insert + F7 → Headings. VoiceOver: VO + U → Headings. An empty list means the document has no navigable structure. A list with gaps in the levels means skipped headings. Fix →

3. Read the first page continuously. NVDA: Insert + . VoiceOver: VO + A. Listen for content arriving in the wrong order, running headers announced mid-sentence, and text that is simply missing. This one step catches most of what matters. Reading order → · Running headers →

4. Jump to a table. NVDA: T. Then move across a row with Ctrl + Alt + . Each cell should be announced with its column header. Bare values mean the headers are not associated. Fix →

5. Jump to an image. NVDA: G. “Graphic” with nothing after it is a missing description. Fix →

6. Bring up the links list. NVDA: Insert + F7 → Links. Look for entries reading “click here”, bare URLs, or nothing at all. Fix →

7. If it is a form, tab through it. Every field should announce what it is. “Edit, blank” means no accessible name. Watch where focus goes: jumping around the page means the tab order is wrong. Fix →

8. Listen for the language. Text in the wrong voice is unmistakable, and in Hebrew or Arabic it is total. Fix →

What a preview gets you

Taggart’s screen-reader preview renders the announcement stream — role announcements, alt text, table header associations, and explicit warnings where the document gives the reader nothing:

⚠ graphic — no description available; the reader announces the role and nothing else ⚠ 14 run(s) of text are painted on the page but are not in the structure tree and are not artifacts. A screen reader never reaches them.

That is fast to iterate against, and it catches structural problems in seconds rather than minutes. It does not replace step 3 with a real reader, and the preview says so on the page.

Frequently asked questions

Which screen reader should I test with?

NVDA on Windows is free and is what most testers use. VoiceOver on macOS is built in. JAWS has the largest professional user base but costs money. If you test with one, make it NVDA; if you can test with two, add VoiceOver.

Do I need to be good at using a screen reader?

No. The point is not to simulate a skilled user's experience — you will not, and pretending otherwise is its own error. The point is to hear whether the document announces its structure at all, which is obvious within a minute.

Is a preview pane as good as the real thing?

No, and Taggart's says so. A preview shows you the sequence and the content, which catches most structural problems fast. It cannot show you how a specific reader with specific settings behaves. Use the preview to iterate and a real reader to confirm.

Related failure conditions

Check your own file. Taggart's validator is free and unlimited — no page cap, no watermark, no account.

Check a PDF free

Last updated .