The document says what its marks stand for

The content of a page records where each letter is drawn, not what it means. Level A of the archiving standard and the accessibility standard (ISO 14289) ask the document to say it: which group of words is a title, which is a paragraph, and in what order to read them.

Summary

Somebody who cannot see the page listens to it. The software reading it out has to know what is a heading, what is a paragraph, what is a table, which cell sits under which column heading, and above all in what order to say it all. A page that records only where each letter is drawn says none of that: the reading software then works through it in the order the text was drawn, which is rarely the order a person would read it.

The answer is a structure tree written alongside the content of the page: this group of words is a title, that one a paragraph, this block is a table and here is its heading row. The drawing does not change. What changes is that the file now knows what it drew — which also lets software pull the figures back out, and lets a search engine index the text properly.

A table too long for one page is cut, and carries on at the top of the next one. Its row of column headings is drawn again up there, so that somebody reading the second page still knows what each column holds.

No published rule says what that redrawn row is. The engine ties it to the same heading cell: the column headed March stays one column, its words stay selectable and read on both pages, and the structure names it once. The Clause by clause section lists the clauses consulted.

Most of it is built as the page is laid out. What stays with you is the outline: which part of the document is a section, which picture means what, and in what order it should be read.

Technically

Level A of part 3 of the archiving standard (ISO 19005-3) asks for a structure tree: without a tree, the engine refuses to write the document. The accessibility standard asks for the same tree and for three things around it: a title, the language of the content, and every shape enclosed in an element that says what it is for.

Built for you: the tree root and its parent tree, the role map, the flag on the catalogue that says the document is tagged, the numbers tying each drawn span to its element, the tab order of a page carrying links or fields, the document language taken from the tree's own, and — under an accessibility claim — the request that reading software show the title rather than the file name. A table lays out its own structure, heading cells included, as it is drawn.

Declared by you: the tags themselves, the nesting, the reading order, the text alternative of a picture, the language, the title, and the marking of running heads and rules as decoration rather than content. Nothing is inferred from the layout — a heading is a heading because the calling program said so.

Two rules refuse a document that claims the accessibility standard: an annotation no element of the tree names, and — under the second part — a form field carrying an action set off by an event, with no text saying what it does. The tree names links and form widgets; a document claiming that standard therefore carries no other annotation.

A table split across a page break draws its heading row again at the top of the next page. Neither part of the accessibility standard says what that second drawing is: no clause of theirs about tables mentions a heading row repeated after a break, and no element is set aside for one. The engine treats it as one heading drawn twice — the tree carries the heading cell once, and what is drawn on the second page belongs to that same cell, so it stays selectable, copyable and read where it sits, while reading software walking the structure meets the column once. That is a decision taken in the spirit of the standard, not a clause quoted from it.

Clause by clause

The engine reports a missing tree, missing table headings, a missing title and a missing language, then refuses to write: a document that claims the accessibility standard without holding to it does not come out of the engine. That report is asked of the engine before writing — through the service, the check key of the request — and it lists those gaps while the file does not yet exist.

The second part of the accessibility standard asks that a way into the document name a piece of its structure rather than a page. The engine writes those destinations: a link, a bookmark or the opening view leads to an element of the tree, and the page that element begins on is written beside it for reading software that knows nothing of the structure. A document carrying one is written as PDF 2.0, and an identifier no element of the tree carries is refused rather than written. The report also names ways in that lead to a page without naming an element of the structure.

The engine asks the calling program to mark decoration as decoration; it does not check that marking. It reads and reports the table rules: the shape of the table, one caption at one end of it, rows of the same width, no cell laid over another, and every heading cell that either says what it heads or is named by the cells that use it.

None of those rules reaches a table cut by a page break. ISO 14289-1 7.5 and ISO 14289-2 8.2.5.26 ask which headings a cell answers to and what shape a table has; neither says a word about a heading row drawn again on the following page, and no published text of the family names such a repeat. What is written here is therefore stated rather than cited: a heading cut across two pages is one heading, tied into the structure once, and both drawings of it are read as that same heading. No published rule lets a checker measure that choice; it is therefore named here.

What the engine does on its own

The engine does all of this as soon as a document claims the standard, whatever else the calling program asks for.

  • Builds the tree root, the parent tree and the role map, and marks the catalogue as tagged.
  • Ties every drawn span to the element that owns it, as the page is laid out.
  • Lays out a table's own structure, heading cells included.
  • Keeps a heading row drawn again after a page break tied to the heading it repeats, so the structure carries it once.
  • Writes the document language from the tree, and sets the tab order of a page carrying links or fields.
  • Asks reading software to show the title rather than the file name, under an accessibility claim.
  • Reports the tree, the title, the language, the tables, the lists and the figures before anything is written, and refuses a shape no element names.

What you supply

The engine states what it was given and invents nothing else: without those values it refuses the document rather than choosing one for you.

  • The outline: which element is a heading, a paragraph, a figure.
  • The reading order, where it differs from the drawing order.
  • A text alternative for every picture that carries meaning.
  • The language of the content, and the title of the document.
  • Running heads, folios and rules marked as decoration.

The published texts behind these rules

Each published text, and what it asks for
Published text What it asks for
ISO 19005-3 6.7.3.3 A document at level A carries a structure tree.
ISO 14289-1 7.1 The document carries a structure tree and a title.
ISO 14289-1 7.2 The document states the language it is in.
ISO 14289-1 7.18.1 Every shape is enclosed in an element that says what it is for.
ISO 14289-2 8.2.1 The structure tree, in the second part.
ISO 14289-2 8.11.1 The title, in the second part.
ISO 14289-2 8.4.4 The language, in the second part.
ISO 14289-2 8.9.2.3 The shapes, in the second part.
ISO 14289-2 8.8 A way into the document names a piece of its structure.
ISO 14289-2 8.10.2.3 A field that acts when acted on says what it is.
ISO 14289-1 7.5 Every cell of a table can be tied to the headings that reach it.
ISO 14289-2 8.2.5.26 The shape of a table and its headings, in the second part.
ISO 14289-2 8.2.5.25 A list whose items carry labels says how they are numbered.
ISO 14289-1 7.3 A figure states a sentence describing it, or the text it stands for.
ISO 14289-2 8.2.5.28.2 The figures, in the second part.

The other families of requirements

Which part of the archiving standard to claim Every font the document uses is embedded in the file Colours that mean the same thing on every device A page that comes out the same for everyone A document that carries other files inside it What the file says about itself Checking the claim, before and after

Back to what the archiving standard asks for

See the prices See the examples