How to check if a PDF is accessible
An accessible PDF is one that people using screen readers, magnifiers, voice control or the keyboard can read and use as well as anyone else. Most of what makes that possible is invisible: a hidden layer of tags that says "this is a heading, this is a list, this image shows a bar chart of sales by quarter". This checker opens that layer and reports what is there and what is missing.
- Drop the PDF into the checker. It runs in your browser with pdf.js and pdf-lib, the same open source libraries many PDF viewers use. The file stays on your device.
- Start with the failed checks. Tags, language and title failures usually come from one export setting, so a single re-export often clears several at once.
- Fix the source, not the PDF. Correct the Word or InDesign file and export again. Patching a PDF in Acrobat works, but the next export brings every problem back.
- Finish with a manual review. Automated checks cannot tell whether the reading order makes sense or whether alt text actually describes the image. Read the document with a screen reader (NVDA on Windows, VoiceOver on Mac) or ask an accessibility specialist.
What the checks mean
Most of what a screen reader needs lives in a few places inside the file. This is what each check reads and when it fails:
| Check | What it reads in the file | Fails when |
|---|---|---|
| Tagged PDF | The Marked flag and the structure tree | Either is missing (a warning if the authoring tool flagged its own tags as "Suspects") |
| Language | The document's default language | None is set |
| Title, and title shown | The title in the metadata, and the setting that shows it instead of the file name | No title, or the window shows the file name |
| Alternate text | Every Figure tag | Any figure has no alternate text, or only spaces |
| Headings | H and H1 to H6 tags | A warning when a multi page document has none |
| Embedded fonts | The fonts actually used to draw text | Any of them is not embedded |
| Real text | Text on each page, and images on pages without text | Pages are pictures of text, as in a scan |
| Tab order, form fields | Pages with links or fields; each field's description | Tab order does not follow the structure, or a field has no description |
| Bookmarks, security, PDF/UA identifier | The outline, the accessibility permission, the PDF/UA claim in the metadata | No bookmarks over 20 pages (warning), screen readers blocked by security, no PDF/UA claim (warning) |
Alternate text is counted, not judged: if you need help writing it, the alt text generator drafts a description from the image. Color contrast is not part of this check either; test text colors with the color contrast checker.
What this checker does not test
This is a fast first pass, not a certificate. It is not a substitute for PAC, Adobe Acrobat's full check or testing with a screen reader. A PDF can pass every check here and still be hard to use.
It does not check reading order, heading levels, table header cells, list structure, color contrast, or whether alternate text is meaningful. For a deeper check, the free PAC (PDF Accessibility Checker) from axes4 tests many PDF/UA and WCAG requirements on Windows, and Acrobat Pro's Accessibility Checker produces a full report.
PDF/UA, WCAG and the law
WCAG 2.2 describes the outcome: content people can perceive, operate and understand. PDF/UA (ISO 14289-1) describes how a PDF file has to be built to deliver that outcome. In the US, Section 508 points federal agencies to WCAG, and the Department of Justice's 2024 rule under ADA Title II requires state and local governments to meet WCAG 2.1 AA, including in documents they publish online. In the UK, public sector bodies must meet WCAG under the Public Sector Bodies Accessibility Regulations 2018, and in the EU the European Accessibility Act has applied to many private sector products and services since June 2025. Whatever applies to you, tagged, titled and described PDFs are where every audit starts.
Methodology and limits
- Engine
- Two open source libraries running in your browser: pdf-lib reads the raw objects (catalog, structure tree, fonts, annotations, form fields, outline) and pdf.js supplies the text, drawing operations, metadata and permissions. If pdf-lib cannot open a file, usually an encrypted one, the checker falls back to pdf.js alone and says which checks it could only approximate.
- Checks and references
- 13 checks, each tied to a clause of PDF/UA-1 (ISO 14289-1:2014) and, where one exists, a WCAG 2.2 success criterion and W3C PDF technique, shown under each result.
- Scale
- Text and fonts are read on the first 300 pages. On documents up to 60 pages only fonts that actually draw text are judged; above that, every font listed counts. The structure tree is counted up to 200,000 elements.
- Versus PAC and Acrobat
- PAC (version 2026 when we checked, October 13, 2026, Windows 10 and 11 only) and Acrobat Pro run far more rules, so they will report problems this page does not test. A pass here means the basics are present, not that the file conforms to PDF/UA.
- Privacy
- The file is read on your device and never uploaded.
- What it does not do
- No reading order, heading level, table header, list or contrast validation, no judgment of alt text quality, no check of tagged annotations or language on individual tags, and no fixing: it reports, you or a remediator repair.
Sources
- PAC (PDF Accessibility Checker), pac.pdf-accessibility.org
- ISO 14289-1:2014, iso.org


