Matterhorn 06-001 · PDF/UA-1 UA1:7.1-8

No XMP metadata stream in the PDF

Blocker Checkpoint 06: Metadata WCAG 2.4.2 (A)

The catalog has no /Metadata entry pointing at an XMP packet. PDF/UA-1 requires one — it is where the conformance claim and the document title live.

The condition, as the protocol states it. “Document does not contain an XMP metadata stream.”

Matterhorn Protocol 1.1, checkpoint 06, index 06-001, section UA1:7.1-8. Software can decide this one on its own.

What a screen reader actually does

Without XMP the reader falls back to the DocInfo title or the filename, and conforming processors cannot detect the PDF/UA claim.

What is missing

One entry on the catalog, pointing at a stream:

1 0 obj
<< /Type /Catalog
   /Pages 2 0 R
   /Metadata 4 0 R          % ← this
   /Lang (en-US)
   /StructTreeRoot 6 0 R
   /MarkInfo << /Marked true >>
>>
endobj

and the stream itself, which is XML:

4 0 obj
<< /Type /Metadata /Subtype /XML /Length 545 >>
stream
<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/">
 <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
  <rdf:Description rdf:about="">
   <dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">
    <rdf:Alt><rdf:li xml:lang="x-default">Annual Report 2026</rdf:li></rdf:Alt>
   </dc:title>
   <pdfuaid:part xmlns:pdfuaid="http://www.aiim.org/pdfua/ns/id/">1</pdfuaid:part>
  </rdf:Description>
 </rdf:RDF>
</x:xmpmeta>
<?xpacket end="w"?>
endstream
endobj

Condition 06-001 is the /Metadata entry being absent entirely.

Why it is a blocker rather than a nicety

Three things depend on it, and all three are invisible until somebody needs them.

The document title. PDF/UA requires dc:title, and that is what a screen reader announces when the document opens. Without XMP there is no dc:title to announce, so the reader falls back to the filename. 06-003 covers the title itself.

The conformance claim. pdfuaid:part can only live in XMP. It is the machine-readable assertion that this file claims PDF/UA-1 conformance, and it is what a validator, a procurement check or a document management system looks for. No XMP means no claim, whatever else the file gets right. 06-002

Everything downstream. Digital asset managers, repositories and search indexes read XMP. A file without it arrives as an untitled blob.

How to check free

Acrobat: File → PropertiesDescription tab → Additional Metadata. If the dialog is empty, or the Advanced tab shows no XMP, there is none.

exiftool (free):

$ exiftool -XMP:all document.pdf

Nothing returned means no XMP packet.

veraPDF: reports clause 7.1-8 for a missing metadata stream and clause 5 for a missing identifier.

How to fix it free, in Acrobat Pro

The simplest route creates the packet as a side effect of setting a title, which you need to do anyway:

  1. File → PropertiesDescription tab.
  2. Type a Title.
  3. Save.

Acrobat writes an XMP packet with dc:title in it. Then, for the window title behaviour:

  1. File → PropertiesInitial ViewWindow Options → Show: Document Title.

That is 07-001, and the two together are about ninety seconds of work for the highest-impact result on this site.

Acrobat will not write pdfuaid:part for you. That claim is added by a tool that has actually verified conformance, which is the whole point of it.

Upstream: Word takes the title from File → Info → Title. InDesign from File → File Info. LaTeX with hyperref from \hypersetup{pdftitle={...}}. All three write XMP on export.

Where Taggart differs

Taggart reports the three metadata conditions separately, because they need different work and have different owners:

  • 06-001 — no XMP packet at all. Mechanical; created in “Fix All Safe”.
  • 06-003 — packet exists, no dc:title. Needs a value from you.
  • 06-004 — a title exists but does not identify the document. Heuristic: Taggart flags producer placeholders like Microsoft Word - report_final.docx, titles equal to the filename, and titles under four characters.

On the conformance claim, Taggart writes pdfuaid:part only after re-validating its own output. Ask for it with blockers outstanding and the report says so plainly:

conformance was requested but re-validation found 3 blocker(s); the PDF/UA identifier was not written

An unverified claim in a metadata packet is worse than no claim, because it is the thing a procurement check will trust.

How Taggart handles it

Taggart detects this condition automatically. It is reported as a blocker, with the page, the structure path and the object id of every occurrence.

The fix is Create or repair the XMP metadata stream. It is mechanical, so “Fix All Safe” applies it in bulk with a diff and a single undo.

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

Isn't the DocInfo dictionary enough?

Not for PDF/UA. The legacy /Info dictionary still exists and many viewers read it, but PDF/UA-1 requires an XMP packet, and the PDF/UA identifier can only live in XMP. Set both — Taggart does — so the two cannot drift apart.

What actually goes in it?

At minimum dc:title. For a conformance claim, pdfuaid:part. Most producers also write dc:creator, dc:language, and the producer and creation date. Anything beyond dc:title is optional as far as accessibility is concerned.

Does adding metadata change the document?

It adds an object to the file. Nothing that paints anything changes, so the rendered page is byte-for-byte identical — Taggart's appearance gate measures 1.000000 on this fix.

Which producers get this wrong?

Mostly print drivers and older library-generated PDFs. Anything from Word, InDesign or LaTeX with hyperref writes XMP. A PDF assembled by a script with a low-level library often does not.

Where this sits in the standards

Standards this condition maps to
StandardReference
Matterhorn Protocol 1.1 Checkpoint 06 (Metadata), index 06-001
PDF/UA-1 (ISO 14289-1) Clause 7.1-8
WCAG 2.1 2.4.2 Page Titled — 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.

Other conditions in checkpoint 06

Checkpoint 06 covers metadata. 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 page cap, no watermark, no account needed.

Check a PDF free

Verified against a real document on . Last updated .