Tag PDF headings with real heading tags
Headings in a PDF have to be tagged as headings, nested by level, so screen reader users can pull up a heading list and jump between sections. PDF gives you H1 through H6 and also a plain H tag with no number, which HTML has no equivalent for. Bold, oversized text with no heading tag is just styled body text. W3C publishes PDF9 as a sufficient technique, and it does two jobs at once. It exposes the document's structure, and it lets a reader skip repeated navigational blocks, because a tagged heading on each repeated section is what makes skipping possible. Word heading styles and InDesign paragraph styles map to heading tags on tagged export, and Acrobat Pro's Reading Order tool retags after the fact. Levels have to progress logically, so an H2 follows an H1 rather than jumping from H1 to H4.
How we find it in an audit
We open the PDF with a screen reader and pull up the heading list. A long document with an empty list fails immediately. We also press the heading navigation key through the document, compare what we land on against the visible section titles, and check the nesting levels in the tag tree. Text drawn as an image but shaped like a heading counts here too, and W3C says to tag it as a heading.
How affected users experience it
With no tagged headings, a 60-page terms-and-conditions document is one unbroken wall of text. There is no jumping to "Termination" or "Fees", only reading line by line or guessing with text search. Sighted readers skim by visual hierarchy, and an untagged PDF denies screen reader users the same skim.
Passes vs. fails
Passes
The policy's section titles use Word heading styles and export as H1 to H3 tags in order. "Section 9. Cancellation" is three keystrokes away instead of forty pages.
Fails
An insurance policy formats its section titles as 14-point bold paragraphs. The screen reader's heading list is empty, and every section is reachable only by reading everything before it.
How this gets tested
The W3C publishes test rules that define what a checker looks for here.
- ARIA attribute is defined in WAI-ARIAA tool can check this
- ARIA state or property has valid valueA tool can check this
- Element with role attribute has required states and propertiesA tool can check this
- Form field has non-empty accessible nameA tool can check this
- Headers attribute specified on a cell refers to cells in the same table elementA tool can check this
- Role attribute has valid valueA tool can check this
- ARIA global properties not used where prohibitedA tool can check this
- ARIA required context roleA tool can check this
- ARIA required owned elementsA tool can check this
- ARIA state or property is permittedA tool can check this
- Table header cell has assigned cellsA tool can check this
- Bypass Blocks of Repeated ContentA tool finds candidates, you decide
- Document has heading for non-repeated contentNothing implements this yet
- Document has a landmark with non-repeated contentA tool can check this
- Block of repeated content is collapsibleNothing implements this yet
- Document has an instrument to move focus to non-repeated contentNothing implements this yet
Other ways to satisfy this rule
52 guides on this site are filed under 1.3.1 Info and Relationships. W3C lists this one as sufficient for that rule when used for making information and relationships conveyed through presentation programmatically determinable, so the condition is part of the test rather than a footnote to it.
- ARIA11sufficientAdd landmarks so users can skip around
- ARIA12sufficientUse role=heading when h1-h6 is impossible
- ARIA13sufficientName repeated landmarks so they are distinguishable
- ARIA16sufficientName controls from visible text with aria-labelledby
- ARIA17sufficientGroup related form fields with ARIA roles
- ARIA20sufficientMark leftover page areas with role=region
This guide is our interpretation of W3C technique PDF9: Providing headings by marking content with heading tags in PDF documents. W3C publishes its techniques as guidance rather than as the standard, and says so on every one of them. The success criterion is what conformance is measured against, and a technique is one documented way to meet it.