Matterhorn 14-001 · PDF/UA-1 UA1:7.4-1

Headings not tagged: text that only looks like a heading

Warning Checkpoint 14: Headings WCAG 1.3.1 (A)WCAG 2.4.6 (AA)

Text that is visually a heading — larger, bolder, isolated — is tagged as a paragraph. The document has no navigable outline.

The condition, as the protocol states it. “Headings are not tagged.”

Matterhorn Protocol 1.1, checkpoint 14, index 14-001, section UA1:7.4-1. The protocol marks this as requiring human judgement.

What a screen reader actually does

The heading list is empty. The user cannot skim; they must read linearly from page one.

What is in the file

A heading is a structure element whose type is H1 through H6, or an unnumbered H whose level comes from nesting depth:

14 0 obj
<< /Type /StructElem /S /H1 /P 9 0 R /Pg 3 0 R /K [ 0 ] >>
endobj

That is the entire difference between a heading and a paragraph. The font size, the weight, the space above it and the colour are all in the content stream, and none of them reach assistive technology.

So a document can have twelve visually obvious section headings and an empty heading list. That is condition 14-001.

What the user loses

Three things, and the first is the one that matters.

The ability to skim. In NVDA, H jumps to the next heading and Insert + F7 opens the heading list. That list is the table of contents for a screen reader user. Empty, it means reading linearly from page one, or giving up.

A sense of shape. Levels convey what contains what. A user who hears “heading level 2, Findings” knows they are inside a larger section.

A reliable jump target. Search results, bookmarks and cross-references all rely on headings existing as addressable things.

How to find it free

Acrobat Pro: Accessibility → Accessibility Check reports it, but the more useful view is the Tags panel — expand the tree and count. If a twenty-page report has no <H1>, you have found it.

Any screen reader, in ten seconds: open the document, press Insert + F7 in NVDA, choose Headings. An empty list is the answer.

PAC reports it under clause 7.4, and its screen-reader preview shows the outline the document actually offers.

How to fix it free, in Acrobat Pro

  1. Accessibility → Reading Order.
  2. Drag a marquee around the heading text on the page.
  3. Click the level button: Heading 1, Heading 2, and so on.
  4. Repeat for each heading.
  5. Check the result in the Tags panel — the tree should now read like a table of contents.

The pitfall: it is easy to get levels right locally and wrong globally. Do one pass tagging everything as a heading, then a second pass reading only the levels top to bottom. The second pass is where you catch the section that should have been an H2 and got an H3. That is condition 14-003.

Upstream is faster and permanent. In Word, the outline is the export: View → Navigation Pane shows exactly what the PDF will contain. Apply real heading styles — not bold body text — and every future export is correct. In InDesign, map paragraph styles to tags under Paragraph Styles → Style Options → Export Tagging.

For a document you will revise, fixing the source is not merely faster; it is the only fix that survives.

Where Taggart differs

Taggart compares the visual presentation against the tagging and reports the gap with a count and a sample:

14 line(s) across the document are visually formatted as headings (larger or bolder than body text) but the document contains 0 heading tag(s).

It also fires when a document has headings but far fewer than it visually appears to — the common case of a template that tagged chapter titles and missed every subsection.

The fix proposes a level for each candidate from its size relative to body text, and requires you to confirm. What it will not do is apply them unattended: the outline is an authorial statement about how the document is organised, and a machine that guesses it wrong produces a document that navigates confidently to the wrong places.

How Taggart handles it

The protocol marks this condition as needing human judgement, so no validator can decide it outright. Taggart applies a heuristic to find the likely cases and reports them as warnings for you to confirm — it never passes them silently, and it never fails them silently either.

The fix is Infer headings from layout. It changes what the document means, so Taggart proposes it and waits for your approval rather than applying it unattended.

Whatever Taggart changes, the page still looks identical. Fixes edit the PDF object model, not the content streams, and every remediation is re-rendered and compared against the original at structural similarity ≥ 0.999 before you get the file back. A tool that quietly reflows your document is worse than no tool.

Frequently asked questions

Why does it matter if the heading looks right on the page?

Because a screen reader never sees the page. It reads the structure tree. Text set in 24pt bold is a paragraph unless it carries an H1..H6 tag, and the heading list — the main way a screen reader user navigates a long document — will be empty.

How many headings should a document have?

As many as it has sections. The test is not a number, it is whether somebody who can only hear the heading list could reconstruct what the document covers. If the list reads like a table of contents, the tagging is right.

Can Taggart tag them automatically?

It proposes candidates from type size and weight and waits for you to confirm the level of each. Silently promoting paragraphs to headings invents an outline the author never wrote, and an outline that is confidently wrong is worse than none.

What about a document with no headings at all — a one-page letter?

Then it has no headings, and that is correct. This condition is about text that is visually presented as a heading and not tagged as one. A short document with genuinely flat structure passes.

Where this sits in the standards

Standards this condition maps to
StandardReference
Matterhorn Protocol 1.1 Checkpoint 14 (Headings), index 14-001
PDF/UA-1 (ISO 14289-1) Clause 7.4-1
WCAG 2.1 1.3.1 Info and Relationships — Level A
WCAG 2.1 2.4.6 Headings and Labels — Level AA
EN 301 549 / Section 508 / ADA Title II All three point at WCAG 2.1 Level AA for non-web documents, so a Level A or AA criterion here is in scope for each of them.

Other conditions in checkpoint 14

Checkpoint 14 covers headings. These are its other failure conditions; the ones without a link are in the rule set but do not have a written page yet.

Check your own file. Taggart’s validator is free and unlimited — every machine-checkable Matterhorn condition, no watermark, no expiry, and no account needed up to 60 pages.

Check a PDF free

Verified against a real document on . Last updated .