Skip to main content
WCAGrules
Quick navigation

Checklists · 18 checks

18 PDF Checks to Run Before You Publish

Run this before a document goes on your site. Most of it takes a minute per item, and it catches the eight failures we find most.

18 PDF Checks to Run Before You Publish

Checks
18
Time
About 20 minutes for a typical document
Last reviewed
August 28, 2026

For whoever publishes the documents. Marketing, comms, or the person who inherited the uploads folder.

What makes a PDF readable is an invisible second layer called the tag tree. Whether your file has one depends on how it was made, because plenty of tools emit tags and plenty of others do not. Without them a reader is left with whatever a viewer can infer from the page, which is guesswork rather than structure, however tidy the document looks on screen.

Start with the question people usually ask first. A PDF published at an address on your site is a web page under WCAG's own definition, so the standard reaches it directly and the law naming that standard reaches it too. Nothing about the format puts your documents outside the rules.

These 18 checks cover the structural failures, which are the ones a machine can confirm and a person can fix. Run the free checker on the file first to see which of them you are actually dealing with, then work down the list in order, because the first two decide whether the rest applies at all.

Two checks before you start

These two decide whether the rest of the list applies to your document at all. A scan has no text to structure. An untagged file has no structure to inspect. Either answer sends you somewhere else first.

  • Confirm the file has real text

    Try selecting a word with your cursor, or search for one. If nothing selects, what you have is a photograph of a page and there is no text in it to read out. That file needs optical character recognition run over it before any other check on this list means anything.

  • Confirm the file has a tag tree

    Run the free checker, or open the tags panel in Acrobat Pro and look for content under it. An empty panel means the document was exported without structure, which is the single most common state we find. Retagging from scratch is slow. Fixing the source file and exporting again is usually cheaper.

Three document properties

Three settings, about a minute in total, and three of the most common failures on the list. All three live in the document properties dialog. The exact menu path has moved between Acrobat versions, so look for the setting rather than the route.

  • Set a real document title

    Find the title field in the document properties and write what the document is, so "Spring 2026 price list" rather than a filename with underscores in it. This is the same rule that governs a web page title, and it is announced first when the document opens.

    WCAG 2.4.2

  • Show the title instead of the filename

    A separate setting in the initial view options decides whether readers see the title you just wrote or the filename. Setting the title without turning this on changes nothing anybody sees, which is why these two checks are always done together and why doing only the first is such a common near miss.

    WCAG 2.4.2

  • Set the document language

    The language setting in the advanced properties decides which voice and pronunciation a screen reader uses for the whole file. It takes one selection. Getting it wrong does not make the reading slightly worse. It makes it unintelligible.

    WCAG 3.1.1

Structure and reading order

The tag tree has to match what a sighted reader sees, in the order they read it. This is where most of the real work sits. It is also what an automatic export gets wrong most often, because the exporter is guessing from visual position.

  • Tag headings at the right levels

    Open the tags panel and read the heading levels down the document. They should describe the shape of the document rather than the size of the type, so a subsection under a section is a level below it. Gaps in the sequence are worth closing for the reader, and they are advice rather than a rule, so fix them as a defect rather than logging them as a breach.

  • Check the reading order end to end

    Select all, copy, and paste into a plain text editor. What you get back is a fast read on the order the content sits in, and it is a diagnostic rather than a verdict, because copy order and tag order are not the same thing. Scrambled text means go and look at the tag tree. A two-column layout pasting as one interleaved column is the classic export failure.

  • Tag lists as lists

    A real list uses list tags around list items, not a run of paragraphs each starting with a hyphen. The difference matters because a screen reader announces a real list with its length, so somebody knows there are seven items coming and can skip past them.

  • Place captions and sidebars in the flow

    A caption belongs directly after the thing it describes, and a pull quote or sidebar belongs where a reader would meet it. Exporters commonly float both to the end of the page, which puts a caption several paragraphs after its figure and leaves it stranded.

Images in the document

Every image gets one of two treatments and there is no third option. Either it carries meaning and needs words, or it is decoration and gets marked so it is skipped. Leaving one untreated is what produces silence where information should be.

  • Give meaningful images alt text

    Find the figure tag, open its properties and write the alternate text. Describe what the image tells a reader at this point in this document, which is not always what is visible in it. The same photograph needs different words in a case study and in a staff directory.

  • Mark decorative images as artifacts

    Dividers, borders, watermarks and background textures should be marked as artifacts, which takes them out of the structure tree and out of the reading order. It is the PDF equivalent of an empty alt attribute rather than another kind of tag. Skipping it leaves a reader hearing "graphic" every few lines with no way to tell which ones matter.

  • Describe charts fully

    Naming a chart tells somebody what they are missing without giving it to them, and the rule asks for an alternative serving the same purpose. So give the figure a short alt naming what it is, then put the actual figures into the document as real text near it, where every reader gets them.

Tables of data

A data cell that does not know its header is a number with nothing attached to it. Somebody listening hears "14.2" and cannot ask which column it came from. That is why tables need marking up rather than drawing.

  • Tag tables as real tables

    A table needs table, row and cell tags around it, not a grid of separately positioned text blocks that happens to line up. Check the tags panel rather than the page, because a table drawn with tabs and spaces looks identical on screen and carries no relationships at all.

  • Mark header cells as headers

    Set the cell type to header on your top row, and on the first column too where that column labels the rows. This is what lets a screen reader read "Revenue, Q3, 14.2" instead of a bare number, and it is the single change that makes a table usable by ear.

  • Set scope on headers where the table needs it

    Scope tells a cell whether its header governs a row or a column, which matters as soon as a table has both. Worth knowing where this sits, because W3C's own table technique asks only that header cells are tagged, so scope is a document-standard requirement rather than a WCAG one. It still earns its place on anything larger than a simple grid.

Form fields and links

An unnamed field is read out as "edit text, blank", which tells somebody there is a box and nothing whatever about what belongs in it. Links have the same problem in a smaller form, because a reader hearing a list of them gets the words and none of the page around them.

  • Name every form field

    Each field's tooltip becomes its accessible name, so the visible label text has to appear inside it. The rule asks the name to contain what the eye can see rather than to match it exactly, so extra words in the name are fine and missing ones are not. That matters more than it sounds, because somebody using voice control says what they can see, and a field labeled Surname whose name is "lastname2" cannot be reached that way.

  • Mark required fields as required

    Tick the required option in the field's properties, so a screen reader announces the field as required at the moment somebody arrives in it. An asterisk is fine alongside that, as long as a legend on the form explains what it means. What the flag does not do on its own is tell somebody what went wrong, so test the error handling separately.

  • Write link text that says where it goes

    Not a bare address, which gets read out character by character in places, and not "click here", which tells a reader nothing once it is out of its sentence. Say what is at the other end, and add the file type and size where the link leads to another document.

One honest limit

These checks confirm the document is structurally sound and stop there, because whether it reads well is a judgment about meaning rather than about markup. A file can pass all 18 and still be unreadable. That happens when somebody tags a pull quote as a heading and writes "chart" as the alt text for the chart carrying the whole argument.

Keep going

Other checklists

Ticked every box and want it verified?

The full audit tests all 55 WCAG 2.2 A and AA rules with a pass or fail on each, adds an expert review, and puts a real blind screen-reader user on your key journeys. $499, report in 5 business days.

Order your audit

Go somewhere useful

Find tools, resources and your workspace.

29 destinations