Un document qui se lit à voix haute
Quand une personne vous lit une lettre au téléphone, elle commence par le haut, elle suit les phrases dans l'ordre où elles ont été écrites, et elle ne s'arrête pas pour vous lire l'adresse imprimée au-dessus : elle voit bien où est le message. Un logiciel qui lit un document à voix haute ne voit rien de tout cela. Il n'a que les traits posés sur la page, dans l'ordre où le programme les a posés — souvent le titre, puis le numéro de page, puis le corps du texte — et une personne aveugle reçoit donc le numéro de page au milieu d'une phrase.
Ce document contient une seconde version de lui-même que personne ne voit : une liste qui dit voici un titre, voici un paragraphe, voici un tableau de trois lignes, et voici dans quel ordre les lire. Le titre courant et le numéro de page y sont inscrits comme du décor, et ne sont donc jamais prononcés. Rien ne change à l'œil : on ouvre le fichier et on voit deux pages ordinaires.
Le fichier ci-dessous ne revendique aucune norme : il contient la structure, et ne dit rien de l'ensemble de règles auquel il entend être tenu. Cette revendication tient en une ligne à ajouter, et c'est elle qu'une vérification vient ensuite éprouver — le même exemple est donc écrit deux fois de plus, une fois en revendiquant les règles d'accessibilité bâties sur la norme la plus récente, une fois en revendiquant le niveau d'archivage qui demande à chaque marque de la page de tenir lieu de lettre. Chacun de ces deux fichiers passe par veraPDF avant toute intégration à la bibliothèque, et un refus arrête la vérification sur place.
Ce que montre cet exemple
- Deux pages faites de titres, de paragraphes et d'un tableau de trois lignes, chacun disant ce qu'il est.
- Le titre courant et le numéro de page marqués comme du décor, et jamais prononcés.
- Le même exemple, réécrit en revendiquant les règles, remis à veraPDF — un programme gratuit qui n'a jamais entendu parler de nous — et accepté aux deux niveaux qu'il revendique alors.
Le code source complet
Rien n'est omis et rien n'est simplifié : c'est le programme exactement tel qu'il tourne, pour le développeur qui utilise cette bibliothèque.
La troisième est la description elle-même : une simple liste de ce que la page doit dire, et c'est elle qu'on envoie au service.
Voir le code Rust
Voir le code Python
Voir le code JSON
Le document lui-même
Ouvrir le document en anglais
Ouvrir le document en français