Guide
How to make a PDF accessible
The whole job end to end: what has to be true, what order to do it in, what is genuinely mechanical, and where a person has to decide — with real timings.
About 20 minutes · involved
What “accessible” actually means for a PDF
Six things have to be true. Everything below is in service of one of them.
- Every piece of content is reachable. Each painting operator is either inside a tag or explicitly marked as an artifact. Content in neither is invisible to assistive technology no matter how prominent it is on the page.
- The reading order is the meaning order. The structure tree, not the page layout, decides what is read and when. A two-column page read straight across is a page of interleaved half-sentences.
- Structure is labelled honestly. Headings are headings and at the right level, lists are lists, tables have headers associated with their cells.
- Non-text content has a text equivalent. Images have alt text that carries what the image is for. Decorative images are artifacts, not images with empty alt.
- The language is declared — at the document level, and per-run wherever it changes.
- The document identifies itself. A title in the metadata, and the viewer told to show it rather than the filename.
A validator can check five of those mechanically. It can check the presence of the third and fourth, never the correctness. That gap is the whole subject.
Decide where to do the work
Before opening Acrobat, answer one question: will this document be produced again?
If yes — fix the source. A report generated monthly, a form that gets revised, a template. Every hour spent in Acrobat is lost at the next export. Set the heading styles in Word, set the alt text in InDesign, set the export options once, and the accessibility ships with the document from then on. Our Word, InDesign, PowerPoint, Google Docs and LaTeX guides each cover the settings that matter.
If no — fix the PDF. An archive, a signed contract, something whose source is three staff turnovers ago.
If it is a scan — neither. A scanned page is an image of text. Tagging it produces a tagged image. It needs OCR first, and the scanned-PDF guide covers what OCR can and cannot give you.
Check before you start
Run a check first, even when you are certain the file is bad. It takes seconds, and it changes what you do:
- a file that fails on metadata and language alone is ten minutes of work, not an afternoon;
- a file with no structure tree at all needs tagging before anything else is meaningful;
- a file that is one big image needs a different process entirely.
Taggart checks a file free, with no account, no page cap and no watermark, and so do several other free tools. Any of them will tell you which of those three situations you are in.
The order, and why it is this order
Each step changes what the next one has to deal with. Doing them out of order means doing several of them twice — on a real document, about a third of the total time.
1. Tag the document, if it has no tags
Auto-tag first. Building a structure tree by hand is many hours; the auto-tagger gets paragraph boundaries and marked-content association right and the interesting parts wrong, and the interesting parts are the ones you would want to do yourself anyway. Tagging an untagged PDF covers what it gets wrong and in what order to correct it.
2. Artifact the page furniture
Running heads, folios, decorative rules, background images. Do this before fixing the reading order, because every artifacted element is one fewer element the reorder has to move — and page furniture is exactly what clutters a long document’s tag tree. Artifacts and decorative content.
3. Fix the reading order
The single most expensive step and the one that matters most. This is where multi-column layouts, sidebars, pull quotes and captions get placed. In Hebrew and Arabic documents it is also where auto-tagging is reliably wrong, because it walks a page left to right and the correct order starts on the right. Fixing reading order, and Hebrew PDF accessibility for the right-to-left case.
4. Correct the structure types
Headings at the right levels with no skips, lists as L/LI/LBody, tables with TR and TH. Now, not earlier, because the reorder moves elements around and their types are easier to audit once they are in the right sequence. Headings and bookmarks, tagging tables.
5. Write the alt text
After the figures are in the right place, so you are describing them in the context the reader will meet them. This is writing, not configuration, and it is the step no tool can do for you. Alt text that works.
6. Set language, title and metadata
Document language, per-run language wherever the script changes, the document title, and DisplayDocTitle so the viewer announces the title rather than the filename. Two minutes, and three of the six requirements. Title and metadata.
7. Handle links and form fields
Link annotations need a description; form controls need a Form element in the structure tree and a tooltip. Forms are the most expensive documents to remediate by hand, because the work is per field. Links and annotations, accessible PDF forms.
8. Re-check, then read it
Run the validator again — and then listen to the document. A file can pass every machine check and still be unusable, and the only way to find that out is to hear it. A screen-reader test script is fifteen minutes and catches what validators structurally cannot.
What is mechanical and what is not
Worth being precise about, because the industry is not.
Genuinely mechanical — no judgement, no risk, and a tool should do these unattended: the XMP metadata stream, DisplayDocTitle, artifact and real-content nesting, the role map, heading level repair once the hierarchy is known, Scope on cells already marked as headers, placing form controls in the structure tree, clearing the Suspects flag.
Needs a decision every time: which paragraph is a heading, what an image conveys, which cells are headers, where a sidebar belongs in the order, whether a repeated line is a running head or a section title, what the document’s language actually is when it is mixed.
Cannot be done in the PDF at all: making a scan into text, fixing colour contrast, restructuring a table that was built out of whitespace.
A tool that offers to do the second group unattended is guessing, and a tool that does not tell you which group a change belongs to is hiding the guess.
How to know when you are finished
You are finished when all of these are true, and not before:
- the validator reports no machine-checkable failures;
- you have listened to the document with a screen reader, start to finish, at least once;
- every image’s alt text was written by someone who knew what the image was for;
- every table’s headers were confirmed by someone who read the table;
- the reading order was confirmed by someone who read the document.
The first is the cheapest and the only one a tool can tell you about. The other four are the job.
Where Taggart fits
Taggart does the first group above and refuses the second. It finds every machine-checkable Matterhorn failure condition, repairs the mechanical majority without touching a pixel of the page — with an appearance gate that discards the result if the rendering changed at all — and puts everything that needs judgement in front of you with the evidence attached.
Then it writes the remediation report: what was found, what was repaired, what a person decided and why. That report is the thing a procurement reviewer asks for, and it is the reason the decisions are recorded rather than assumed.
Check a PDF free → · Every failure condition → · Pricing →
Frequently asked questions
How long does it take?
A five-page document exported from Word with real heading styles: fifteen to thirty minutes. The same document exported without them: an hour. A twenty-page report with tables and figures: two to four hours. A scanned document: start again from the source, because there is nothing to tag. Anyone quoting a flat per-page rate is averaging across documents that differ by a factor of ten.
Can software do it automatically?
Parts of it. Metadata, language, artifacting page furniture, table header scope where the headers are already marked — those are mechanical and a tool should do them unattended. Reading order in a complex layout, alt text, which cells are headers, whether a bold line is a heading: those are judgements about meaning, and no tool has the document's meaning available to it. Treat any product claiming full automation as claiming it can read your mind.
Do I fix the PDF or the source?
The source, every time you still have it and will need the document again. Fixes made in Acrobat are lost the moment someone re-exports. Fix the PDF when the source is gone, when the document is final and archival, or when the source is a system you cannot change.
Is a tagged PDF the same as an accessible PDF?
No. Tagged means a structure tree exists. Accessible means that tree is correct, the reading order matches the meaning, images have descriptions, tables have headers, and the language is declared. Every accessible PDF is tagged; plenty of tagged PDFs are unusable.
What standard should I aim at?
PDF/UA-1 (ISO 14289-1) if you need a machine-checkable target, because it is the one a validator can actually test. WCAG 2.1 AA if your obligation comes from law — most document accessibility law cites WCAG, and for PDFs the two overlap heavily. Doing PDF/UA-1 properly gets you most of WCAG 2.1 AA for documents.
Related failure conditions
- 01-005 Content is neither marked as Artifact nor tagged as real content Every text-showing, image-painting and path-painting operator on a page must sit either inside a marked-content sequence that maps to the structure tree, or inside an artifact sequence. Content that is in neither is orphaned.
- 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.
- 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.
- 13-001 Graphics objects are not tagged with a Figure tag An 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.
- 07-001 ViewerPreferences does not contain DisplayDocTitle Without /DisplayDocTitle the viewer is free to show the filename in the window title instead of the document title.
- 11-001 Natural language for text in page content cannot be determined No /Lang is in effect for some text: neither on the catalog, nor on an enclosing structure element, nor on a marked-content sequence.
- 15-002 A column has a header cell, but that header cell is not tagged as a header The top row labels the columns but is tagged as ordinary data cells.
Check your own file. Taggart's validator is free and unlimited — no page cap, no watermark, no account.
Last updated .