Automated checkers decide syntax. A screen reader decides whether a person can read the document, and it is the only test that catches a technically valid tag tree in the wrong order or an alt text that says nothing. This guide gives a repeatable procedure that a sighted tester can run, explains why the choice of PDF viewer changes the result more than the choice of screen reader, and cites independent data so the environment can be chosen deliberately.
First choose the viewer, then the screen reader
A screen reader can only announce what the PDF viewer exposes through the operating system's accessibility API. Viewers differ enormously here. PowerMapper's screen reader compatibility tests for PDF, updated December 14, 2025, run a fixed set of tagged-PDF features (alt text, document language, document title, passage language, decorative artifacts, table headers, headings) through each screen reader with the browser's built-in PDF engine. The published reliability scores were:
| Combination | Versions tested | Reliability |
|---|---|---|
| NVDA with Firefox | NVDA 2025.3, Firefox 140 | 88% |
| JAWS with Firefox | JAWS 2025.2508, Firefox 140 | 75% |
| VoiceOver with Safari (macOS) | macOS 15.7, Safari 26.0 | 75% |
| VoiceOver with Safari (iOS) | iOS 18.6 | 75% |
| NVDA with Chrome or Edge | NVDA 2025.3, Chrome or Edge 143 | 25% |
| JAWS with Chrome or Edge | JAWS 2025.2508, Chrome or Edge 143 | 25% |
The Firefox result reflects a deliberate engineering choice: beginning with version 89, released July 1, 2021, Firefox's PDF.js viewer added support for tagged PDF, exposing the structure tree to screen readers. Chromium's viewer, shared by Chrome and Edge, does not expose the same semantics, which is why heading navigation and table header announcement fail there even for a perfectly tagged file. Adobe Acrobat Reader on Windows has long exposed the full tag tree, and vendors point testers to it: Canva's help centre, for example, records that browser viewers and VoiceOver in macOS Preview or Safari may skip content that Acrobat reads correctly.
The 15-minute procedure
Keystrokes below are NVDA's in browse mode; JAWS uses the same single-letter navigation keys for headings, tables, graphics, and links. Start the screen reader, open the PDF in the viewer, and work through the list in order.
- Title. On opening, the viewer window title should announce the document's title, not its file name. If it announces the file name, the Title or DisplayDocTitle setting is missing; see the document settings guide.
- Headings. Open the elements list (NVDA+F7 in NVDA) and switch to headings. The list should read as a sensible outline on its own, with one top-level heading and no skipped levels. Then press H to move heading by heading and confirm each announces its level.
- Reading order. From the top, press the down arrow repeatedly (or use say-all) through two or three pages. Listen for columns read line by line across each other, sidebars interrupting body text, captions read away from their figures, and running headers or page numbers read as content. Compare with the visual order.
- Tables. Press T to reach each table. Move into it with Ctrl+Alt+arrow keys and confirm that column and row headers are announced with each cell. A table announced as "table with 1 row" or read as a run of paragraphs was tagged wrongly.
- Images. Press G to move between graphics. Each meaningful image should announce alt text that conveys its purpose; decorative images should be skipped entirely. "Graphic" with no description is a missing alternative.
- Links. Press K to move between links and confirm each announces useful text rather than "here" or a bare URL.
- Forms. Press F to reach fields, then Tab through them in forms mode. Each field should announce a name that matches its visible label plus any format instruction, the tab order should follow the visual order, and required fields should be announced as required. See accessible PDF forms.
- Language. With automatic language switching enabled in the synthesizer settings, read a passage in a second language and listen for the voice change. See language tagging.
What to record
A screen reader test is only evidence if it is written down. Record the file name and version, the date, the viewer and its version, the screen reader and its version, which of the eight checks passed, and what was heard for each failure. That record is what an accessibility statement, a procurement response, or a later dispute will ask for; DocAccessible keeps this kind of note attached to the exact document version in its review workflow, and the 15-point checklist provides a template for the manual items.
Mobile
Apple's iPhone user guide states that VoiceOver can read PDFs in the Books and Files apps and describes forms, tables, and lists. PowerMapper's iOS Safari result (75%) shows reasonable support for tagged features, but experiences vary by app. Android's TalkBack support depends on the PDF application in use. Test on the device and app your readers use, and treat mobile results as a reason to also publish an HTML version rather than as a verdict on the file.
When the file is right and the viewer is wrong
If a document passes in Acrobat Reader and Firefox but fails in Chrome's viewer, the tags are almost certainly correct and the limitation is the viewer. That is worth knowing, but it does not help the reader who only has Chrome. The dependable answer for public documents is to publish an accessible HTML version alongside the PDF, which every browser and screen reader handles well; that is the first of the remediation paths DocAccessible produces.
Frequently asked questions
Which screen reader and viewer should I use to test a PDF?
Use Adobe Acrobat Reader on Windows with NVDA, which is free, as the reference environment, then repeat in Firefox. Independent tests published by PowerMapper in December 2025 scored NVDA with Firefox at 88% and JAWS with Firefox at 75% on tagged PDF features, against 25% for either screen reader with Chrome or Edge, whose shared viewer does not expose the same structure.
Why does my tagged PDF read badly in Chrome?
Chromium's built-in PDF viewer, used by Chrome and Edge, does not expose tagged PDF structure such as headings and table headers to screen readers the way Acrobat Reader and Firefox do. If the file reads correctly in Acrobat Reader with NVDA, the tags are correct and the limitation is the viewer. Publishing an HTML version alongside the PDF is the reliable fix for readers who use Chrome.
Does Firefox support tagged PDFs?
Yes. Beginning with Firefox 89, released July 1, 2021, the built-in PDF.js viewer exposes the structure tree of tagged PDFs to screen readers, which is why Firefox scores well in independent PDF screen reader tests. It is a good second environment after Acrobat Reader for checking headings, tables, and alternative text.
Sources
The statements above rest on the primary sources below. Where a source is a law or standard, the version and date named in the text are the ones checked on the review date. This guide is general information, not legal advice.
- PowerMapper: PDFs, screen reader compatibility (December 14, 2025) . Reliability scores by screen reader and browser PDF engine, and the list of features tested.
- Fondazione LIA: Firefox PDF viewer now supports tagged PDF . Firefox 89, released July 1, 2021.
- Mozilla PDF.js pull request #13171: add support for basic structure tree for accessibility
- Canva Help Center: PDF accessibility features . Documented issue with browser viewers, macOS Preview, and Safari with VoiceOver.
- NV Access: NVDA screen reader
- Apple Support: Use VoiceOver in apps on iPhone
Keep reading
Acrobat accessibility checker vs PAC, explained
Why a PDF can pass Adobe Acrobat's accessibility checker and fail PAC, what each tool actually tests, how to read their reports, and what neither can decide.
Read the guide →PDF accessibility checklist
Fifteen structural and manual checks to complete before publishing an accessible PDF.
Open the checklist →HTML, rebuilt PDF, or manual remediation?
All three paths compared, including when exact PDF layout requires separately priced human work.
Compare the paths →