A document that can be read aloud
Someone reading a letter to you over the telephone starts at the top, follows the sentences in the order they were written, and does not stop to read out the address printed above them: they can see which part is the message. Software reading a document aloud sees none of that. All it has is the marks on the page, in the order the program laid them down — often the heading, then the page number, then the body — so a blind reader is given the page number in the middle of a sentence.
This document carries a second copy of itself that nobody sees: a list saying this is a heading, this is a paragraph, this is a table of three lines, and this is the order to read them in. The running head and the page number are listed there as decoration, so they are never said out loud. Nothing looks any different — open the file and you see two ordinary pages.
The file below claims no standard: it carries the structure, and says nothing about which set of rules it means to be held to. That claim is a line to add, and it is what a check is then run against — so the same example is written twice more, once claiming the accessibility rules built on the newer standard, once claiming the archival level that asks every mark on the page to stand for a letter. Each of those two goes to veraPDF before a change enters the library, and a refusal stops the check where it stands.
What this example shows
- Two pages of headings, paragraphs and a three-line table, each saying what it is.
- The running head and the page number marked as decoration, and never read out.
- The same example, written again claiming the rules, handed to veraPDF — a free program that has never heard of us — and accepted at both of the levels it then claims.
The source code, complete
Nothing is left out and nothing is simplified: this is the program exactly as it runs, for the developer who uses this library.
The third is the description itself: a plain list of what the page has to say, which is what the service is sent.
Read the Rust source
Read the Python source
Read the JSON source
The document itself
Open the document in English
Open the document in French