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. |