PDF Accessibility Checker
PDF/UA basics report: tags, alt text, language, reading order, contrast
Files are processed only in this browser. Nothing is uploaded to a server.
Check tags, alt text, language, reading order, contrast and other PDF/UA basics, with a report
This PDF is password-protected.
Continue in another tool
Processing…
Everything runs inside this browser. Your file is never sent to a server.
Your file is ready to download
Continue with this result
Open page preview
Changing a setting hides the previous result. Run it again to save the latest settings.
Remove the password from an encrypted PDF first. Processing focuses on page content, so bookmarks, attachments, forms and signatures may not be preserved. Keep the original and check the result.
Working…
0.0
It hasn't frozen — the result will appear when the calculation finishes.
About PDF Accessibility Checker
This tool reads a PDF and changes nothing. It walks the catalog, the structure tree, every page's content stream, annotations and fonts, and reports about twenty checks that commonly fail under PDF/UA (ISO 14289) as pass, fail or warning, with the page numbers where each problem occurs.
It is a basic self-check in the spirit of PAC and the Matterhorn Protocol, not a certification. A machine can tell whether a figure has alternate text; it cannot tell whether that text actually describes the figure, or whether the tagged reading order matches the order a person would read. Even with every check green, listening to the file in a screen reader is still part of the job.
What tagging actually adds
Under the hood a PDF page is a list of drawing commands: put these glyphs at these coordinates. In a two-column layout, the first line of each column sits at the same height, and the order of the commands is whatever the authoring application chose. From those commands alone, a screen reader cannot know which line is a heading or where a paragraph ends.
A tagged PDF numbers each piece of page content (a marked-content ID, or MCID) and keeps a separate structure tree that records the logical order and role: H1, then P, then Figure, then Table. Running headers, page numbers and decorative rules are marked as Artifacts so assistive technology skips them. PDF/UA builds on that and requires a document language, a title shown in the window, alternate text for figures, header cells in tables, descriptions for form fields and more.
What gets checked, and the usual culprits
Checks fall into five groups: document, structure, content, annotations and fonts. The failures seen most often in real files:
- No MarkInfo /Marked and no structure tree. Nearly every file made by printing to a PDF printer driver lands here. Export with the save-as-PDF path and turn on the accessibility/tags option instead.
- No /Lang. A screen reader may pronounce the whole document with the wrong language rules. The value is a language tag such as en-US.
- Missing title or DisplayDocTitle. The window should show the document title, not report_final_v3.pdf.
- Untagged content. A properly tagged file later stamped, annotated-and-flattened or merged in another tool typically leaves only the new material outside the tags.
- Image-only pages. Scans contain pictures of text and nothing to read until OCR adds a text layer.
- Figures without /Alt, tables without TH cells, skipped heading levels (H1 followed by H3), links without descriptions or structure parents, form widgets without a tooltip (/TU), pages with annotations whose tab order isn't structure order (/Tabs /S), non-embedded fonts and fonts without a ToUnicode map.
Why the contrast check is only an estimate
Text contrast is computed with the WCAG 2.x formula against the background right under the text. The tool follows the content stream in order and takes the color of the last box or shape painted before the text that covers its position, or white paper if there is none. So white text on a navy panel passes, and dark gray text on a black panel gets a warning. When text sits on a photo or a gradient, the content stream alone doesn't say what color is there, so the page is rendered in your browser and the most common color around the text is read as its background.
It is still an estimate: shapes are judged by their bounding boxes, transparency, blend modes and special color spaces are ignored, and only one point at the start of each text run is looked at. That is why this check only ever raises a warning. The thresholds are 3:1 for text 18 pt and larger and 4.5:1 for everything else.
PDF/UA-1, PDF/UA-2 and where the rules bite
PDF/UA-1 (ISO 14289-1:2014) is built on PDF 1.7; PDF/UA-2 (ISO 14289-2:2024) is built on PDF 2.0. The tool reads pdfuaid:part in the XMP metadata to show which one a file claims, and otherwise concentrates on requirements the two share. A missing claim is a warning, and the claim only means something once the requirements are really met. Dynamic XFA forms are not allowed under PDF/UA and fail immediately.
In the United States, documents posted by federal agencies fall under Section 508, whose standards incorporate WCAG 2.0 and apply it to electronic documents; PDF/UA is widely used as the technical way to get a PDF there, but the law points to WCAG rather than naming PDF/UA itself. In the EU, the web accessibility directive for public-sector sites and apps likewise works through the harmonised standard EN 301 549, which covers downloadable documents.
Worked examples
A notice printed to PDF from a word processor
- Input
4 pages, 1 table, 2 images, printed with a PDF printer driver- Output
Fail: MarkInfo, structure tree, untagged content on 4 pages, /Lang
All four share one cause. Re-export from the source with tagging enabled and most of them clear at once.
Gray helper text
- Input
#999999 text at 10 pt on white- Output
Contrast about 2.85:1, warning (needs 4.5:1)
0x99 is 153/255 = 0.6, which linearises to about 0.318. (1 + 0.05) / (0.318 + 0.05) ≈ 2.85. It would fail even the 3:1 large-text threshold. Darkening to about #767676 clears 4.5:1.
A signature image added after tagging
- Input
A well-tagged 10-page file; a scanned signature merged onto page 10- Output
Untagged content: page 10
Only the new image sits outside the structure. Mark it as an Artifact if it's decorative, or as a Figure with alt text if it carries meaning.
How to use it
- Choose a PDF. It is only read, never modified.
- Review the pass/fail/warning summary, the grouped checks and the affected pages.
- Download the report if you need to hand it to whoever produced the document.
Key terms
- MCID
- A number attached to a stretch of page content so a structure element can point to what was actually drawn.
- Artifact
- Content marked as not part of the reading: page numbers, running heads, decorative lines.
- ToUnicode
- A map from a font's glyph codes back to Unicode characters. Without it, screen reading, copying and search break.
Frequently asked questions
If everything passes, is my file PDF/UA?
No. Whether alt text is meaningful, whether reading order is right and whether table cells are associated correctly all need human judgment. Use a dedicated checker such as PAC and a screen reader as well.
How do I fix a scanned PDF?
Run OCR to add an invisible text layer, then add structure in a tagging editor. OCR alone does not create headings or table structure.
Is PDF/A-1a or PDF/A-2a automatically accessible?
Level a requires tags and Unicode, which is a good start, but it doesn't guarantee alt text, table headers, heading order and the rest of what PDF/UA asks for.
Is my document uploaded?
No. Parsing and the report both happen inside your browser, which matters when you're checking a document before it's public.
Related guides
Sources
- PDF Association — ISO 14289-1 (PDF/UA-1)
- PDF Association — ISO 14289-2 (PDF/UA-2)
- PDF Association — PDF/UA in a Nutshell
- W3C — WCAG 2.2, 1.4.3 Contrast (Minimum)
- U.S. Access Board — Revised Section 508 Standards
Last reviewed: