pdfblah.com

← All guides

Is your PDF accessible?

A screen reader can't infer your document. It needs tags that say what's a heading and what order to read things, alt text on the images, a declared language, a title to announce. Most PDFs carry none of that. access checks in seconds, and is honest about where its judgment ends.

How to do it

pip install pdfblah

pdfblah access report.pdf
tagged: NO  |  language: NO  |  title: yes  |  text layer: yes  |  bookmarks: yes
  problem: not tagged: no structure tree, so a screen reader gets a bag of text with no headings or order
  problem: no document language declared (/Lang); screen readers can't pick a voice
mechanical checks only: failing means not accessible; passing does not certify.

What gets checked

The honest boundary

These are the checks a machine can make deterministically, and that cuts both ways. Failing them means the document is not accessible. Passing them does not certify it: tags can exist and be wrong, reading order can be nonsense, alt text can say "image". Judging that takes eyes. Formal validation is veraPDF and PAC territory, and repairing structure is authorship work in a remediation tool, not a conversion. This command tells you, honestly and in exit codes (1 when problems exist, so it gates a publish), whether a document is even trying.

Tips