PDF A11y Auditor

Automated Accessibility Checks for Downloadable PDFs

The "ScreenReadable" Profile

Why does a PDF sometimes fail a strict ISO test, but is still perfectly readable for a screen reader?

Strict PDF/UA-1 validation (via veraPDF) enforces rules that are crucial for long-term archiving, perfect print reproduction, and mathematical matrix perfection. However, modern screen readers (like JAWS, NVDA) and pragmatic tools (like axesCheck) only need a solid logical tag structure and a clean Unicode text layer.

To provide realistic accessibility feedback, we created the ScreenReadable profile. It is based on the official PDF/UA-1 profile, but we explicitly excluded the following rules that do not affect screen reader usability.

Excluded Rules (Diff to ISO 14289-1)

1. Metadata & Syntax Settings

Screen readers read the document text and metadata directly, regardless of specific PDF window settings or missing PDF/UA identification stamps.

Clause Description of ignored strict rule
5 (Test 1-5) The PDF/UA version and conformance level of a file shall be specified using the PDF/UA Identification extension schema (pdfuaid:part).
6.1 (Test 1) The file header shall consist of "%PDF-1.n" followed by a single EOL marker.
7.1 (Test 10) The document catalog dictionary shall include a ViewerPreferences dictionary containing a DisplayDocTitle key, whose value shall be true.

2. Strict Table Matrix Algorithms

While strict ISO validation requires mathematically perfect matrices for row/column spans and explicit Scope attributes for every nested table, screen readers and axesCheck can easily parse standard semantic HTML/PDF table structures without these exact programmatic definitions.

Clause Description of ignored strict rule
7.2 (Test 41-43) Table columns/rows shall have the same number of rows/columns (taking into account row spans and column spans).
7.5 (Test 1-2) If the table's structure is not determinable via Headers and IDs, then structure elements of type TH shall have a Scope attribute.

3. Visual Font Embeddings & Metrics

Screen readers do not render visual glyphs; they synthesize speech using the Unicode text layer (ToUnicode). Therefore, precise glyph widths, complete CharSet embeddings, and CID dictionaries are irrelevant for audio output. (Note: We kept Clause 7.21.7 active, because proper ToUnicode mapping is vital for screen readers!)

Clause Description of ignored strict rule
7.21.3.1 - 7.21.3.3 Rules regarding CIDSystemInfo, CIDToGIDMap entries, and non-standard CMap embeddings.
7.21.4.1 - 7.21.4.2 Font programs shall be embedded. CharSet strings and CIDSet streams shall list all glyphs present in the font program.
7.21.5 (Test 1) For every font, the glyph width information in the font dictionary and in the embedded font program shall be exactly consistent.
7.21.6 (Test 1-4) Character encodings (MacRomanEncoding, WinAnsiEncoding) and Microsoft Symbol encoding requirements.