PDFcheck

Immediately check one or more PDF files for signs of inaccessibility

PDFcheck looks for signs of inaccessibility. It can tell you a feature is missing, but it can’t tell you a feature is correct. Treat it as a first pass before testing with Acrobat’s accessibility checker, PAC, a keyboard, and a screen reader.

Add files to review

Files are only loaded locally and are not transmitted anywhere. Need files to try? Here are a few example PDF files from the GitHub repo to check.

Results

Here’s an example result:

example-tagged-PAC-2024-pass.pdf [PDF - 115KB]

PDF Version 1.7

Creator Tool Microsoft Word 2019

Producer Adobe PDF Services

Document Title test details Heading level reference

Display Document Title test details Not configured

Tagged test details Yes

Language test details en-US

Marked test details True

PDF/UA identifier test details Yes

Bookmarks test details Present

Structure test details Could not inspect (compressed structure tree)

Tests

Learn more about the tests and results.

Tagged

This check indicates that tags are present in the document. If no tags are present, the file is absolutely not accessible. This check doesn’t determine if existing tags are correct.

Possible tagged values:

Tagged Yes

Tagged No

Language

All documents should have the language attribute set. For example, a document primarily in U.S. English should use (en-US).

To set the language in Acrobat, go to: File → Properties → Advanced tab → Reading Options → Language drop down

Possible language values:

Language Language abbreviation

Language Not set

Marked

A Tagged PDF document shall also contain a mark information dictionary (see Table 321) with a value of true for the Marked entry.

— ISO PDF-1.7 specification, page 574 [PDF - 9 MB]

Check out more info about Marked on Stack Overflow.

Possible marked values:

Marked True

Marked False

Marked No

PDF/UA identifier

This checkpoint isn’t a deal breaker.

The PDF/UA ID attests that the PDF is ISO 14289 (PDF/UA) compliant. It should be added as the final remediation step; otherwise you would kind of be fibbing.

— TaggedPDF.com: PDF/UA Identifier Missing

Watch a screencast showing how to fix this issue using Adobe Acrobat.

Possible PDF/UA identifier values:

PDF/UA identifier Yes

PDF/UA identifier Not set

Document Title

A conformant PDF will have a readable title specified in File → Properties.

Possible document title values:

Document Title Document title

Document Title Empty

Document Title Not set

Display Document Title

When enabled, PDF viewers will display the document title in the title bar instead of the filename.

To enable in Acrobat: File → Properties → Initial View tab → Window Options → Check “Show: Document Title”

Possible display document title values:

Display Document Title Enabled

Display Document Title Disabled

Display Document Title Not configured

PDF Version

PDF/UA (ISO 14289-1), the accessibility standard for PDF, builds on PDF 1.7. A file with an earlier version can still be tagged and usable, so this isn’t a deal breaker on its own. Saving the file again from a current tool usually updates the version.

Possible PDF version values:

PDF Version 1.7

PDF Version 1.4 (PDF/UA requires 1.7 or later)

Suspects

The Suspects entry in the mark information dictionary means the producer found content it couldn’t tag with confidence. Acrobat sets it after some auto-tagging and OCR steps. Review the tags before trusting them. This check only appears when the flag is set.

Possible suspects values:

Suspects True

Bookmarks

Bookmarks (the outline shown in a viewer’s side panel) let people jump to a section without paging through the document. Common federal guidance, including the HHS checklist, calls for bookmarks in documents of 9 or more pages. PDFcheck can’t read the page count reliably, so a missing outline is shown as information rather than a warning.

Possible bookmarks values:

Bookmarks Present

Bookmarks Not found

Form Fields

Each form field needs a description (the tooltip, stored as TU) so a screen reader can announce what to type or choose. This check only appears when the file has a form. Fields are counted from uncompressed field dictionaries, and radio button and checkbox groups can make the count approximate.

Possible form fields values:

Form Fields 2 fields, 2 with descriptions

Form Fields 5 fields, 2 with descriptions

Form Fields Form present (fields could not be inspected)

Structure

The checks for headings, lists, tables, and figures read the tag tree as plain text. Many tools, including Acrobat and Word, store the tag tree in compressed object streams that PDFcheck can’t open. When that happens this flag appears instead of those checks. It says nothing about whether the tags are good or bad, so open the file in PAC or Acrobat to inspect them.

Possible structure values:

Structure Could not inspect (compressed structure tree)

Headings

Headings give screen reader users a way to skim and jump through the document, and every document should start with an H1. This check counts heading tags by level and flags a missing H1. It doesn’t check whether levels are skipped or whether the text makes sense as a heading.

Possible headings values:

Headings H1: 1, H2: 3, H3: 2

Headings No H1 (H2: 3, H3: 2)

Headings None found

Lists

Tagged lists tell assistive technology how many items there are and where each one starts. This check counts list and list item tags and only appears when the file has at least one list.

Possible lists values:

Lists 2 lists, 7 items

Tables

Data tables need header cells (TH tags) so a screen reader can announce the row or column each cell belongs to. This check counts table and header cell tags and only appears when the file has at least one table. It can’t tell whether the headers are attached to the correct cells.

Possible tables values:

Tables 2 tables, 8 header cells

Tables 2 tables, no header cells

Figures

Each figure tag needs alternative text (the Alt entry) that describes the image. This check counts figure tags and alt text entries across the whole file. It can’t match an entry to a specific figure or judge whether the text is useful. The check only appears when the file has at least one figure.

Possible figures values:

Figures 3 figures, 3 alt text entries

Figures 3 figures, 1 alt text entry