Guide

What is a tagged PDF?

A PDF page is drawing instructions with no idea what it draws. Tags are the structure that says. Why they exist, and why tagged does not mean accessible.

About 9 minutes · quick

What a PDF page actually contains

A PDF page is a content stream: a sequence of operators that paint things at coordinates.

BT /F1 18 Tf 72 720 Td (Annual Report) Tj ET
BT /F1 11 Tf 72 690 Td (Revenue rose 14% over the year.) Tj ET

Set a font, move to a point, show a string. That is the entire description. Nothing in it says Annual Report is a heading, or that the second line is a paragraph, or which should be read first. The format was designed to reproduce a printed page exactly, and a printed page does not carry that information either — a sighted reader infers it from size, position and convention.

Assistive technology cannot infer it. Given only the content stream, a screen reader has coordinates and guesses.

What tags add

A tagged PDF carries a second structure alongside the page content: the structure tree, hanging off the document Catalog as /StructTreeRoot. It is a tree of elements with standard types, and each element points at the marked content on the page that it describes.

/Document
├── /H1     → "Annual Report"
├── /P      → "Revenue rose 14% over the year."
├── /Figure → (the chart)          /Alt "Revenue by quarter, rising each quarter"
└── /Table
    ├── /TR → /TH "Quarter"  /TH "Revenue"
    └── /TR → /TD "Q1"       /TD "£1.2m"

Three things come from this and from nothing else:

Meaning. A heading is a heading because an H1 element says so, not because the text is 18pt. A list is a list because of L, LI and LBody, not because the lines start with bullets.

Order. The sequence of the tree is the reading order. It is independent of where things sit on the page, which is what makes two-column layouts, sidebars and captions possible to read correctly — and what makes them read as nonsense when the tree is wrong.

Alternatives. /Alt on a Figure, /ActualText on a text run whose characters are not what should be read, /E for an abbreviation’s expansion. There is nowhere else to put any of these.

The tree is never drawn. Tagging a file changes nothing about how it looks, which is why it can be done to a finished document — and why a tool that modifies structure should prove the rendering is unchanged rather than assert it.

Marked content: how the tree connects to the page

Elements do not contain text. They contain references to sequences in the content stream, which are labelled inline with a marked-content id:

/P <</MCID 1>> BDC
  BT /F1 11 Tf 72 690 Td (Revenue rose 14% over the year.) Tj ET
EMC

BDC opens the sequence, EMC closes it, and the structure element points at MCID 1 on that page. Content that is deliberately meaningless — a page number, a decorative rule, a background — is wrapped as an artifact instead:

/Artifact <</Type /Pagination>> BDC
  BT /F1 9 Tf 290 40 Td (Page 3 of 40) Tj ET
EMC

Every painting operator on the page must be in one or the other. Content in neither is orphaned: it is on the page, it is not in the tree, and it is not marked as ignorable — so a conforming reader never reaches it. That is condition 01-005, and it is the most common single failure in real documents.

Tagged is not accessible

This is the part that matters, and it is why is my PDF tagged is the wrong question.

Tagged means the tree exists. It does not mean the tree is right. A file can be fully tagged and:

  • have every heading at the wrong level, or no heading structure at all because everything came out as P;
  • read the right column before the left, so the text is interleaved half-sentences;
  • have Figure elements with alt text reading image1.png;
  • have tables with no TH at all, so a screen reader in table mode announces cells with no headers;
  • declare English while the text is Hebrew, so a synthesiser reads Hebrew letters with English phonetics and produces noise.

Every one of those passes “is it tagged”. Most of them pass several automated checkers, because a checker can see that a Figure has an /Alt and cannot see that the /Alt says nothing useful.

Auto-tagging makes this concrete. Acrobat’s Autotag Document produces a complete structure tree in seconds, and the file is then tagged. It infers headings from font size, tables from ruled lines and order from page geometry — each of which is right most of the time and wrong in exactly the places that matter. Acrobat knows this: it sets a flag, /Suspects true, saying its own tagging may be unreliable (condition 01-007).

How to check what your file has

Is it tagged at all: Acrobat’s File → Properties → Description tab reports Tagged PDF: Yes/No. Any free checker will tell you the same in a second.

What the tree actually says: Acrobat’s Tags panel (View → Show/Hide → Navigation Panes → Tags) shows the tree. Expanding it and reading the element types down the document is the fastest way to see whether the structure means anything.

What a reader would do with it: the only reliable test is listening. A screen-reader test script takes fifteen minutes and finds things no validator can.

Where to go next

If your file is untagged: how to tag an untagged PDF.

If it is tagged and wrong: how to fix reading order is where most of the wrongness lives.

If you are producing the document rather than repairing it: fix it at the source — Word, InDesign, LaTeX — because tags made in Acrobat are lost at the next export.

For the whole job in order: how to make a PDF accessible.

Frequently asked questions

How do I tell whether a PDF is tagged?

In Acrobat, File → Properties → Description tab, bottom right: Tagged PDF says Yes or No. In any PDF reader, try selecting text and copying a paragraph — if the line breaks come back as hard returns mid-sentence, the file is probably untagged, though this is a hint rather than proof. Any free checker answers it definitively in a second.

Does tagging change how the page looks?

No. Tags live in a parallel structure that is never painted. A correctly tagged file renders pixel for pixel identically to the untagged one, which is why tagging is safe to do to a finished document — and why a remediation tool should verify the rendering did not change, rather than assume.

Do tags make the file much bigger?

Rarely more than a few percent. The structure tree is a tree of small dictionaries; the page content, fonts and images are what the file size is made of.

My file is tagged and a screen reader still reads it wrong. Why?

Because tagged only means a structure tree exists. If the tree says the sidebar comes before the paragraph it interrupts, the reader is faithfully reading a wrong description. This is the single most common misunderstanding in the subject.

Is tagging the same as OCR?

No, and confusing them wastes a lot of time. OCR turns an image of text into text. Tagging describes text that already exists. A scanned page needs OCR first; tagging it before that produces a tagged picture.

Related failure conditions

Check your own file. Taggart's validator is free and unlimited — no page cap, no watermark, no account.

Check a PDF free

Last updated .