Guide

A PDF accessibility checklist that is honest about limits

Twenty-two items in the order they should be done, each marked as machine-checkable or human judgement, with the Matterhorn condition behind it.

About 12 minutes · moderate

How to use this

Work top to bottom. The order encodes dependencies: everything above an item is something that, if wrong, will make you redo that item.

Each entry is marked [M] where software can decide it and [H] where it requires a person. That distinction is from the Matterhorn Protocol, and it is the honest boundary of what any tool — this one included — can tell you.

Stage 1 — Is this remediable at all?

1. The document has real text. [M] Select all, copy, paste. Nothing pastes → it is a scan and nothing below applies until it is OCRed. See the scanned-PDF guide.

2. The document is not encrypted against extraction. [M] Security settings that block content extraction block assistive technology. File → Properties → Security. Condition 26-002.

3. A source file does not exist. [H] If the original Word, InDesign or LaTeX file exists, re-exporting is faster than remediating and produces a better document. Ask before starting.

Stage 2 — Document level

4. The document has a /Title. [M] Not a filename. See the title guide. Condition 06-001.

5. /DisplayDocTitle is true. [M] Without it the title is ignored and the filename is announced. Same guide.

6. The document has a /Lang. [M] Condition 11-001.

7. The /Lang is the language the document is actually in. [H] No checker can read. en-US on a Hebrew document passes item 6 and fails the user completely.

8. XMP and Info metadata agree. [M] Condition 07-001.

9. The document is tagged. [M] A /StructTreeRoot exists and /MarkInfo /Marked true. Condition 01-005.

10. The tags correspond to the content. [H] A structure tree can exist and describe nothing. This is the item that separates a tagged PDF from an accessible one, and no software can decide it.

Stage 3 — Reading order

11. Every piece of content is in the structure tree. [M] Untagged content is invisible to a reader. Condition 01-005.

12. The structure order is the intended reading order. [H] The single most consequential item on this list. See the reading-order guide. Condition 09-001.

13. Multi-column pages read column by column, not across. [H] And for Hebrew or Arabic, right column first — TG-RTL-004.

14. Headers, footers and page furniture are artifacts. [H] Not tagged content. Otherwise the page number interrupts the text on every page.

Stage 4 — Semantics

15. Headings are tagged as headings. [H] Bold text is not a heading. See the headings guide.

16. Heading levels do not skip. [M] Condition 14-003.

17. Lists are tagged as lists. [M] LLILBody, not a run of paragraphs starting with dashes. Condition 16-003.

18. Data tables have header cells with scope. [M] Condition 15-003. Complex tables need Headers/IDsee the table guide.

19. Layout tables are not tagged as tables. [H] Whether a grid is data or layout is a judgement about meaning.

Stage 5 — Content

20. Every image has alt text or is an artifact. [M] The presence of the attribute is checkable. Condition 13-001.

21. The alt text describes the image. [H] “image”, “logo”, “chart.png” and a filename all satisfy item 20. See writing alt text. Condition 13-004.

22. Links have meaningful text and a /Link structure element. [M]/[H] The structure is checkable; whether “click here” is meaningful is not.

Stage 6 — Right-to-left, if applicable

23. Hebrew or Arabic text is stored in logical order. [M] The failure no mainstream checker detects. TG-RTL-001.

24. Right-to-left runs have the correct /Lang. [M] TG-RTL-002.

25. Punctuation and numerals are on the correct side. [M] TG-RTL-005.

Stage 7 — Verify

26. Two independent checkers pass. [M] veraPDF for the citable verdict, PAC or Taggart for the readable one. How.

27. A person has listened to it. [H] Ten minutes with NVDA or VoiceOver finds things no checker reports. A script for it.

28. The appearance is unchanged from the original. [M] Remediation must not reflow the document. If your tool cannot demonstrate this, compare the rendered pages yourself before delivering.

The arithmetic

Fifteen of these twenty-eight items are machine-decidable. Thirteen are not.

That ratio is the whole shape of this field. A validator that reports zero errors has told you about slightly more than half the list, and the half it cannot see contains items 12, 15, 19 and 21 — which are, in practice, the four things a screen-reader user notices first.

Any product that tells you a document is compliant has skipped the thirteen. Any process that ends at a green tick has too.

Frequently asked questions

If I complete every item, is the document compliant?

No tool and no checklist can determine that. This list covers the failures that occur in practice and maps each to the condition behind it. Whether a given document meets a given legal obligation is a determination a qualified person makes, with the document in front of them — and in Israel, with a licensed מורשה נגישות.

Why is the order different from other checklists?

Because dependencies matter. Fixing alt text on a document whose reading order is wrong means doing it twice — the reorder moves the figures. Structure before semantics, semantics before content, content before polish. Working in this order is roughly a third faster on a real document.

What does 'human judgement' mean in the marks?

The Matterhorn Protocol classifies each of its 136 failure conditions by how it can be checked. 87 are machine-decidable, 47 require a human, and 2 have no test at all. An item marked human here is one where no software can give you the answer, including software that claims to.

Can I use this as a deliverable?

As a working checklist, yes. As evidence, it is thin on its own — what a compliance buyer needs is a record of which items were checked, by whom, when, and what was decided on the judgement calls. That record is the actual deliverable, and it is what Taggart's remediation report produces.

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 .