What the tags look like
Tags are standard structure types defined in the PDF specification: H1 to H6 for headings, P for paragraphs, L and LI for lists, Table with TH and TD cells, Figure with an alt text attribute, and so on. Each tag points at the marked content on the page it describes. The document catalog also carries a MarkInfo dictionary with Marked set to true.
PDF/UA-1 (ISO 14289-1), the accessibility standard for PDF, requires all real content to be tagged and everything decorative to be marked as an artifact. WCAG 2.1 success criterion 1.3.1 (Info and Relationships) is the requirement tags satisfy for web content.
How to tell whether a PDF is tagged
The checker above reads the structure tree directly with pdf.js, page by page. It reports three states that a simple "Tagged: yes" field in a document properties dialog hides:
- Not tagged: no structure tree at all. Common for files printed to PDF, scanned, or produced by older tools.
- Flagged but empty: MarkInfo says Marked is true, but there is no tree behind it. This happens when a tagging step fails part way, or a later tool strips the tree and leaves the flag.
- Tagged, with problems: a tree exists, but headings skip levels, figures lack alt text or tables have no header cells.
How to tag a PDF
- Go back to the source file if you have it. Apply heading styles, alt text and table header rows there.
- Export with tags on: in Word for Windows, Save As PDF, Options, "Document structure tags for accessibility"; in Word for Mac, "Best for electronic distribution and accessibility"; in InDesign, "Create Tagged PDF".
- Do not print to PDF. Print-to-PDF drivers produce an untagged file.
- With no source file, add tags in a remediation tool such as Acrobat Pro, then review the tag tree by hand. Automatic tagging guesses at headings and reading order.
- Run the file through a checker again to confirm the tree is present on every page.
This site checks tags and reports what is wrong with them; it does not add them. If the only failure is missing bookmarks, the TOC generator here can build those from your headings.
Last updated