Guide
How to get PDF headings and bookmarks right
Heading levels are how a screen-reader user navigates a long document. Skipped levels, fake headings and empty bookmarks, and how to fix each.
About 11 minutes · moderate
Why levels matter more in a PDF than on the web
A screen-reader user in a long document does not read it. They navigate it: H jumps to the next heading, 1 to the next level-1 heading, and the heading list gives them the document’s shape in one view.
On a web page there is other structure to fall back on — landmarks, links, a nav bar. A PDF has almost none of that. Headings and bookmarks are essentially the entire navigation surface, which makes a broken hierarchy more disabling here than anywhere else.
The three failures
Fake headings
Text that looks like a heading — bold, larger, a different colour — and is tagged P. Sighted readers see a heading. A screen-reader user gets an ordinary paragraph, and the document has no structure at all in their heading list.
This is the most common of the three because it is what happens when a document is written with direct formatting instead of styles. Word’s Heading 1 becomes H1 in the export; 16pt bold Calibri becomes P.
Find it: open the Tags panel, and click through every element that looks like a heading on the page. Or faster — open the document in PAC and look at the structure outline. If it is flat, they are all paragraphs.
Fix it: in Acrobat’s Tags panel, right-click the element → Properties → Type → Heading Level 1 (or 2, 3…). For more than a handful, fix it in the source document and re-export, which is faster and produces a better file.
Skipped levels
H1, then H3. This is condition 14-003, and the effect is that a user navigating by level 2 skips content entirely — they have no way of knowing the H3s exist under that H1.
It usually comes from visual design: the designer wanted a smaller heading, so they picked the style that looked right rather than the level that was right. The fix is to correct the level and restyle it, not to leave the level wrong.
Find it: Acrobat’s accessibility checker reports this one reliably, as do veraPDF and PAC. It is a genuinely machine-decidable condition and every checker gets it right.
Fix it: change the Type in the Tags panel. Then check what follows — a fixed skip often reveals another one below it, because these tend to come in runs.
Headings that are not headings
The reverse problem: a paragraph tagged H2 because a template applied a heading style to a caption, a pull-quote or a table cell. The heading list fills with fragments and stops being useful.
A special case worth naming: an entire page of a table of contents tagged as headings. It happens when a TOC is generated from heading styles and the styles come across. The result is a heading list that is a duplicate of itself.
Fix it: retype those elements as P, or Caption, or whatever they actually are.
What a correct hierarchy looks like
H1 Annual Report 2025
H2 Financial summary
H3 Revenue
H3 Expenditure
H2 Operations
H3 Northern district
H4 Staffing
H3 Southern district
H2 Appendices
Levels descend by one and may jump back up by any amount. H4 followed by H2 is correct — that is closing two sections. H2 followed by H4 is not.
Bookmarks
Bookmarks are a separate structure: an outline tree hanging off the document catalog, independent of the tag tree.
Generate them from headings, not by hand. In Word, tick Create bookmarks using: Headings in the PDF export options. In InDesign, generate a TOC and tick Create PDF Bookmarks. In Acrobat, View → Show/Hide → Navigation Panes → Bookmarks, then the panel menu → New Bookmarks from Structure, which reads your tag tree.
That last one is worth knowing about. If your headings are correct, it produces a correct outline in one click, and if it produces a strange outline, that is diagnostic — your headings are wrong.
Three things that break bookmarks:
- Bookmarks pointing at the wrong page. Usually because pages were inserted or deleted after generation. Regenerate rather than repairing individually.
- Empty or duplicate labels. “Untitled” entries, or twelve entries all called “Introduction”. A bookmark’s label is the only thing a user has to choose by.
- A flat outline for a structured document. Forty top-level bookmarks with no nesting is a list, not an outline. Nest them to match the heading hierarchy.
Verify it in ninety seconds
Open the Bookmarks panel and read the outline. Does it look like the document’s table of contents? If you cannot tell what the document is about from it, the headings are wrong somewhere upstream.
Then, if you have PAC, open the structure view and read the heading list on its own. That list is the experience of navigating the document. If it reads as an outline, you are done. If it reads as fragments — captions, half-sentences, page numbers — there is fake-heading work to do.
Frequently asked questions
Does a PDF need exactly one H1?
PDF/UA does not require it, and the Matterhorn Protocol has no condition for it — that is an HTML convention people carry across. What is required is that the levels form a coherent hierarchy without skips. A report with one H1 per chapter is fine; a report where H1 and H3 alternate is not.
Are bookmarks required for accessibility?
Not by PDF/UA-1. They are required by Section 508 practice for documents over a certain length, and WCAG 2.4.5 Multiple Ways is satisfied in part by them. More practically: for a 200-page document they are the difference between navigable and not, whatever any standard says.
What is the difference between bookmarks and headings?
Headings are structure — H1 to H6 elements in the tag tree — and are how a screen reader's heading-navigation key works. Bookmarks are the outline panel, a separate object in the document catalog, and are how a sighted keyboard user navigates. A document needs both, and they should agree.
My tags say H1 but the checker reports a skipped level. Why?
Because the level after it is H3. The check is on the sequence, not on any individual element. Condition 14-003 fires on the transition, so the element reported is usually the H3, not the H1 that preceded it.
Related failure conditions
- 14-001 Headings are not tagged Text that is visually a heading — larger, bolder, isolated — is tagged as a paragraph. The document has no navigable outline.
- 14-003 Numbered heading levels in descending sequence are skipped The heading hierarchy jumps a level going down — H1 straight to H3. Going back up any number of levels is fine; going down must be one level at a time.
- 09-001 Tags are not in logical reading order The order of elements in the structure tree does not match the order a human would read the page. This is the single most common substantive defect in tagged PDFs and the one Acrobat's own tooling handles worst.
- 28-005 A form field has neither a TU entry nor an alternative description The /TU tooltip is the accessible name of a PDF form field. Without it the field has no name at all — the visible label printed next to it is not connected to the control.
Check your own file. Taggart's validator is free and unlimited — no page cap, no watermark, no account.
Last updated .