Matterhorn 13-003 · PDF/UA-1 UA1:7.3-2
Captions tagged as paragraphs: tying a caption to its figure
"Figure 3: Quarterly revenue" is tagged as a paragraph rather than as a Caption associated with its figure or table.
The condition, as the protocol states it. “A caption is not tagged with a <Caption> tag.”
Matterhorn Protocol 1.1, checkpoint 13, index 13-003, section UA1:7.3-2. The protocol marks this as requiring human judgement.
What a screen reader actually does
The caption is announced as unrelated body text, with no link to the figure it describes.
What the condition is about
A caption is the short label that names a figure or a table — Figure 3: Quarterly revenue by region. PDF has a structure type for it, <Caption>, and PDF/UA-1 clause 7.3 requires a caption to use it.
The failure is ordinary-looking. The caption is in the tree, in the right place, with the right words — tagged as a paragraph:
/Document
├── /P "Revenue grew in every region except…"
├── /Figure /Alt (Bar chart of revenue by region…)
├── /P "Figure 3: Quarterly revenue by region" ← a caption, tagged P
└── /P "The North region overtook…"
Tagged properly, the caption is grouped with the thing it names:
/Div
├── /Figure /Alt (Bar chart of revenue by region…)
└── /Caption "Figure 3: Quarterly revenue by region"
For tables the place is fixed: Adobe’s tag reference describes <Table> as an element that “may have a caption element as its first or last child element”.
What the user hears
The caption is read in sequence as one more paragraph of body text, with nothing to say it belongs to the graphic before it. A reader who skips a figure skips its caption separately, if at all; a reader who meets “Figure 3: Quarterly revenue by region” in the middle of an argument cannot tell whether it is a heading, a sentence fragment or a label.
How much a <Caption> changes the announcement varies from one screen reader to another. What does not vary is that a <P> gives them nothing to work with. The relationship between a table or figure and its name is exactly what WCAG 1.3.1 Info and Relationships asks to be in the structure rather than only on the page.
Where it comes from
Captions typed as body text. A bold paragraph under an image is a paragraph to every producer. Producers that map paragraph styles to tags only produce <Caption> when the caption was made with a style or feature they recognise as one.
Auto-tagging. Adobe’s own description of the Reading Order tool’s Figure/Caption button calls it useful for “preventing caption text from being incorrectly added to adjacent text blocks” — left to itself, a caption ends up as an ordinary paragraph, or inside one.
Taggart’s own auto-tagger. It proposes paragraphs, headings, lists, tables and figures. It never proposes a <Caption>, so every caption on a page Taggart tagged arrives as a <P>.
How to check it free
Acrobat Pro’s Tags panel. Expand the tree and look at the element next to each <Figure> and <Table>. A <P> holding Figure 3… or Table 2… is the condition. Turn on Highlight Content in the Options menu to see which text each tag covers.
Acrobat Pro’s Reading Order tool. Select Show Tables And Figures in its dialog; each figure is outlined, which makes the caption beside it easy to find.
Acrobat’s Accessibility Checker has no caption rule in Adobe’s documented list, and PAC and veraPDF cannot decide this either: the Matterhorn Protocol marks it as a human check, because only a reader can tell a caption from a sentence that mentions a figure.
How to fix it free, in Acrobat Pro
Adobe documents two ways, in Reading Order tool for PDFs and Edit document structure with the Content and Tags panels.
With the Reading Order tool (All tools → Prepare for accessibility → Reading Order):
- Select Show Tables And Figures in the dialog.
- Drag to select the figure and its caption together.
- Click Figure/Caption. Adobe describes it as tagging “a selected figure and caption as a single tag”.
- Right-click the region → Edit Alternate Text, and check the figure still has its description.
With the Tags panel, when the structure is otherwise right:
- Select the
<P>that holds the caption. - Options → Properties, choose Caption from the Type menu, and click Close.
- Drag the tag so it sits beside its
<Figure>, or as the first or last child of its<Table>. A line shows where it will land.
Upstream: use the authoring tool’s own caption feature rather than a styled paragraph, and re-export with tagging on. See Word to accessible PDF and Export an accessible PDF from InDesign.
What Taggart does
Taggart applies a heuristic. It reads the text painted on the page for every <P>, and for every <Span> that is not inside a <P> (its paragraph is read instead, so the same words are not reported twice). Where that text is no more than 200 characters and begins with Figure, Fig., Table, Chart, Diagram, Exhibit, Image, Plate or Map — or the Hebrew and Arabic equivalents איור, תרשים, טבלה, תמונה, לוח, شكل, جدول — followed by a number, a colon or a full stop, it reports the element as a warning, unless the same words are already tagged as a <Caption>:
<P>reads like a caption (‘Figure 3: Quarterly revenue by region’) but is not tagged as a<Caption>inside its figure or table.
On our generated file, a caption painted as ordinary text under a figure and tagged <P> was reported, and so was the same caption carrying its words as /ActualText.
What it matches is the opening words, not the role. A body sentence that begins Figure 3 shows the North region… is reported just as a caption is; that is the judgement this warning hands you. A caption worded any other way — a bare title under a photograph, Source: Annual survey under a chart — is not reported at all, so a report with no 13-003 findings means no caption-shaped paragraphs, not that every caption is tagged.
The repair is caption-tagging, and it needs a person. It retags the paragraphs you name as <Caption> and nothing else; asked to run without a list, it declines:
caption candidates must be approved; a paragraph that merely starts with “Figure 3” is not necessarily a caption
It changes the tag type only. It does not move the caption next to its figure — if the two are far apart in the tree, place it with the reading-order editor or the Tags panel afterwards. In the app a caption finding sits in the review queue, where you record a decision with your reason; the retagging itself is not offered in the app yet, so change the paragraph’s tag to <Caption> in Acrobat’s Tags panel.
A properly tagged <Caption> beside a <Figure> also pays off elsewhere: when a figure has no description, the review queue offers its caption first, labelled Its caption, as a starting point for the alt text.
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 each one as warning for you to settle in the review queue. A heuristic finds what it was built to find and can miss the rest; what this one looks for is described above.
The fix is Tag captions. 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
Where does a Caption element go?
Next to what it captions, inside the same grouping. For a table, Adobe's tag reference puts it as the first or last child of the <Table>. For a figure, the usual shape is a container — a <Div>, say — holding the <Figure> and its <Caption> side by side. What matters is that the tree, not the page layout, says which image the caption belongs to.
Is a caption the same as alt text?
No. The caption is visible text that everyone reads; alt text is a description for people who cannot see the image. A good caption often makes the alt text shorter, and the two should not repeat each other, because a screen reader user hears both.
Does every line that starts with "Figure 3" need to be a Caption?
No, and that is why this is a judgement. "Figure 3 shows the regional split" is a sentence in the body text that refers to a figure. Only the label that sits with the image and names it is a caption.
Will Taggart find all my untagged captions?
The usual ones. It reports any paragraph whose text starts like a caption — Figure, Table, Chart and so on, followed by a number — so it finds captions that follow that pattern and also some sentences that only mention a figure. A caption worded any other way, such as a bare title under a photograph, is not reported; check the tree by eye for those.
Where this sits in the standards
| Standard | Reference |
|---|---|
| Matterhorn Protocol 1.1 | Checkpoint 13 (Graphics), index 13-003 |
| PDF/UA-1 (ISO 14289-1) | Clause 7.3-2 |
| WCAG 2.1 | 1.3.1 Info and Relationships — Level A |
| 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. |
Related conditions
- 13-004 Figure tag alternative or replacement text missingA Figure element has neither /Alt nor /ActualText. Every Figure must have one or the other; if the image is decorative it should be an artifact instead of a Figure.
- 13-001 Graphics objects are not tagged with a Figure tagAn image or vector drawing that carries meaning is not inside a Figure element. Either it is untagged, or it has been swept into a paragraph.
- 15-002 A column has a header cell, but that header cell is not tagged as a headerThe top row labels the columns but is tagged as ordinary data cells.
- 09-001 Tags are not in logical reading orderThe 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.
Other conditions in checkpoint 13
Checkpoint 13 covers graphics. These are its other failure conditions; the ones without a link are in the rule set but do not have a written page yet.
- 13-001 Graphics objects are not tagged with a Figure tagAn image or vector drawing that carries meaning is not inside a Figure element. Either it is untagged, or it has been swept into a paragraph.
- 13-002 A link with a meaningful background lacks alternative text for bothAn image link — a button, a logo that navigates — needs alternative text that conveys both what the graphic shows and where the link goes.
- 13-004 Figure tag alternative or replacement text missingA Figure element has neither /Alt nor /ActualText. Every Figure must have one or the other; if the image is decorative it should be an artifact instead of a Figure.
- 13-005 ActualText used for a Figure for which alternative text is more appropriateActualText replaces the content for text-extraction purposes; Alt describes it. A photograph needs Alt. A drop cap or a glyph-as-image needs ActualText.
- 13-006 A graphic with meaning only as part of a group is tagged on its ownA chart built from dozens of separate vector paths has been tagged as dozens of Figures instead of one. Each fragment is meaningless alone.
- 13-007 A more accessible representation is not usedA data table rendered as a picture, or body text set as an image, when real text and real table structure were available.
- 13-008 ActualText not present when a Figure is intended to be consumed primarily as textA drop cap, a logo that is a word, an image of a signature block — content that is text — needs ActualText so it flows into the text stream.
Check your own file. Taggart’s validator is free and unlimited — 75 of the 87 Matterhorn conditions software can decide, with the other 12 listed for you to confirm; no watermark, no expiry, and no account needed up to 60 pages.
Checked with Taggart on a generated file that fails this condition on . The Acrobat steps follow Adobe’s documentation and were not walked through by hand. Last updated .