Guide

How to set a PDF's title so readers announce it

The most common accessibility failure in existence is one metadata field and one display flag. Both, in every tool that can set them, including free ones.

About 5 minutes · quick

The failure

Open a PDF in a screen reader. The first thing announced is the document title — that is how a reader decides whether they are in the right file.

For most PDFs in existence, what gets announced is the filename. Often something like Microsoft Word - Report_FINAL_v3(2).docx. Sometimes a GUID from a document management system.

This is 06-001, it is the most frequently occurring accessibility failure in the entire PDF corpus, and it is two fields.

Why “I set the title” is not enough

There are two independent switches, and setting one without the other does nothing.

Switch 1 — the title exists. The document carries a title in its metadata.

Switch 2 — the reader is told to use it. The catalog’s /ViewerPreferences dictionary contains /DisplayDocTitle true.

Without switch 2, a reader shows and announces the filename even when a perfectly good title is sitting in the metadata. Producers set switch 1 routinely, because “Title” is a field in every export dialog. Almost nothing sets switch 2 automatically.

In the file it looks like this:

1 0 obj
<< /Type /Catalog
   /ViewerPreferences << /DisplayDocTitle true >>   % switch 2
   /Metadata 9 0 R                                   % switch 1 lives here
>>
endobj

In Acrobat Pro

Both switches, ninety seconds:

  1. File → Properties → Description tab. Type the real title into Title.
  2. Same dialog, Initial View tab. Under Window Options, set Show: to Document Title.
  3. Save.

Step 2 is the one people miss, and it is the one that matters.

Free, from the command line

qpdf and exiftool are both free and both handle this. exiftool is the simplest for metadata:

exiftool -Title="Annual Report 2025 — City of Haifa" -XMP-dc:Title="Annual Report 2025 — City of Haifa" report.pdf

That sets switch 1 in both the Info dictionary and XMP. For switch 2, pikepdf is a two-line script and free:

import pikepdf
with pikepdf.open('report.pdf', allow_overwriting_input=True) as pdf:
    pdf.Root.ViewerPreferences = pikepdf.Dictionary(DisplayDocTitle=True)
    pdf.save()

Neither touches the page content, so neither can change how the document looks.

In the tools that produce PDFs

WordFile → Info → Properties → Title before exporting. Word writes the title but does not set /DisplayDocTitle, so you still need the Acrobat step or the script above.

InDesignFile → File Info → Title. Then in the PDF export dialog, Advanced → Accessibility Options → Display Title: Document Title. InDesign is one of the few producers that exposes switch 2 directly, and it is off by default.

LaTeX — with hyperref:

\hypersetup{pdftitle={Annual Report 2025}, pdfdisplaydoctitle=true}

pdfdisplaydoctitle is switch 2. Adding pdftitle alone is the usual mistake.

Google Docs — the document name becomes the title on export. There is no way to set /DisplayDocTitle, so a post-export step is required.

Get the title right, not just present

A title that satisfies the checker and helps nobody is a wasted fix. Three rules that hold up:

Say what the document is. “Building Permit Application Form 4B” beats “Form”.

Include the issuing body when the document travels. A reader with forty PDFs open needs “Ministry of Health — Vaccination Schedule 2026”, not “Vaccination Schedule”.

Do not put the file format in it. “Annual Report 2025 (PDF)” is announced as “Annual Report 2025 P D F”. The reader already knows.

The rest of the metadata, briefly

While you are in the dialog:

LanguageFile → Properties → Advanced → Reading Options → Language. This is /Lang and it decides which synthesiser voice reads the document. See 11-001.

Author and Subject — genuinely optional for accessibility. Fill them if your organisation needs them; no standard requires them.

Keep XMP and Info consistent. If a tool sets one and you set the other, a file ends up with two different titles and readers disagree about which to announce. That is 07-001. Setting both to the same string, as in the exiftool command above, avoids it.

Do this to the whole backlog first

Of every fix in PDF remediation, this one has the best ratio of value to effort by a wide margin. It touches no page content, so it cannot change appearance, cannot be got subtly wrong, and needs no review. It is safe to run across a thousand files in a loop.

If you have a backlog and limited time, set the titles on all of it before you remediate any of it. Every one of those documents gets meaningfully better for a few seconds of work each — and you will have a much clearer view of what is actually in the backlog when the files stop being called scan0001.pdf.

Frequently asked questions

Why does the filename get announced instead of the title?

Because two separate things have to be true. The document has to have a /Title in its metadata, and the catalog's /ViewerPreferences has to contain /DisplayDocTitle true. Producers set the first and skip the second constantly, so the title is there and no reader uses it.

Does the XMP title or the Info dictionary title win?

XMP, in any modern reader. PDF 2.0 deprecated the document Info dictionary in favour of XMP metadata, and readers prefer XMP where both exist. Set both and keep them identical — a file where they disagree is condition 07-001, and it is a real interoperability problem rather than pedantry.

What makes a good title?

What you would say if someone asked what the document is. 'Annual Report 2025 — City of Haifa', not 'AR2025_final_v3_APPROVED.pdf' and not 'Microsoft Word - AR2025.docx'. A reader hears this before anything else in the document and uses it to decide whether to keep listening.

Can I fix this for a hundred files at once?

Yes — it is metadata, so no rendering is involved and the operation is safe to batch. qpdf, exiftool and pikepdf can all do it from a script, and Taggart applies it as part of Fix All Safe. It is the single highest-value bulk operation in this field.

Related failure conditions

Check your own file. Taggart's validator is free and unlimited — no page cap, no watermark, no account.

Check a PDF free

Last updated .