Naar de inhoud
pdf-toegankelijk.nl

Wat we controleren, en hoe we repareren

Deze pagina gaat over de motor onder de tool: welke controles er draaien, wat de reparatie aan je bestand verandert, en waar hij bewust stopt. Voor wie wil weten waar een getal in het verslag vandaan komt.

Twee dingen die niet hetzelfde zijn

De tool doet een toets en een reparatie, en die staan los van elkaar. De toets kijkt wat er in het bestand staat en oordeelt daarover. De reparatie verandert het bestand. Je verslag draait allebei: één keer over het document zoals het binnenkwam, en één keer over het document zoals het eruit gaat. Het verschil tussen die twee is wat er is opgelost.

De toets

De controles komen uit de kennisbank van Proper Access, waar per scenario staat wat er mis is, waarom een lezer het merkt en hoe je het oplost. Elk scenario heeft een nummer, en dat nummer staat in je verslag: T-PDF-1.1.1-01 gaat over WCAG-succescriterium 1.1.1, en het volgnummer erachter onderscheidt de gevallen binnen dat criterium.

Deze tool kent 31 scenario's, en daarvan draaien er 31 op elk document. Ze zijn verdeeld over 23 controles die elk hun eigen deel van het bestand nakijken. De overige 0 staan verderop, onder "Wat er niet draait".

Waar de toets naar kijkt

De toets leest de tagstructuur, de metadata en de tekst zoals hulpsoftware ze tegenkomt. Hij opent je document niet als beeld en beoordeelt niet wat er staat. In grote lijnen gaat het om:

  • De tagstructuur zelf. Is er een structuurboom, staat de inhoud erin, en is wat er buiten valt als artefact gemarkeerd.
  • Koppen. Koptags zonder inhoud, en tekst die eruitziet als een kop maar geen koptag heeft. Dat tweede werkt op de lettergrootte tegenover de broodtekst.
  • Afbeeldingen. Een /Figure zonder /Alt of /ActualText, en een alternatief dat een programma lijkt te hebben ingevuld, zoals "image 4" of "afbeelding 12".
  • Tabellen. Tabellen zonder kopcellen, en cellen waarvan de kop niet eenduidig is.
  • Lijsten. Een /L zonder items, items zonder inhoudstag, en alinea's die met een opsommingsteken beginnen zonder in een lijst te staan.
  • Leesvolgorde. De volgorde in de tags tegenover de volgorde op de pagina.
  • Titel, taal en de instellingen van het document. Een titel in de metadata, een taal op de catalogus, en DisplayDocTitle, dat bepaalt of een lezer de titel of de bestandsnaam in de titelbalk ziet.
  • Invulbare velden. Een document met velden waarin kopiëren uitstaat: wie gegevens uit het document in de velden moet overnemen, kan dan alleen overtypen.
  • Links en invulvelden. Een link-annotatie die niet in een /Link-tag zit, een link zonder bruikbare naam, en de tabvolgorde van een pagina met annotaties.

Drie niveaus

Elke bevinding heeft er één, en het niveau zegt wat de tool weet en niet hoe erg het is.

  • Fout. De tool heeft vastgesteld dat het niet klopt.
  • Controleren. Er is een aanwijzing, en of het klopt is een oordeel. Een alternatief dat "image 4" heet, is meestal geen alternatief; soms staat er echt een afbeelding met dat bijschrift.
  • Advies. Het mag zo, en het kan beter. Bladwijzers in een lang document zijn daar het voorbeeld van.

De reparatie

De reparatie draait in vier stappen, in deze volgorde, en daarna volgt een controle op het beeld.

  1. Tags erin, als ze er niet zijn. Dat doet OpenDataLoader, een open programma dat de tekenopdrachten van elke pagina afloopt en er koppen, alinea's, lijsten en tabellen van maakt. Het draait op onze eigen server; je document gaat er niet uit. Heeft het document al een tagstructuur, dan blijft die staan zoals hij is.
  2. Tags eruit die niets aanwijzen. Een tagger maakt soms een tabel van de rasterlijnen van een grafiek. Zo'n rooster van lege cellen kondigt een tabel aan die er niet is, en dat is slechter dan geen tabel. Hetzelfde gebeurt met een koptag om alleen een spatie of om niets: die gaat uit de structuur, en wat er op het blad stond wordt een artefact. Een kop met alleen een streepje of een andere tekening eronder blijft staan. Dit zijn de enige delen van de reparatie die iets weghalen.
  3. Kopcellen aanwijzen. Een tagger maakt van elke cel een /TD; welke rij de kop is, weet hij niet. Deze stap leest de vormgeving uit de tekenopdrachten en zet alleen om bij duidelijk bewijs: een bovenste rij die vet is terwijl de rijen eronder dat niet zijn, of een linkercel die vet is terwijl de rest van de rij dat niet is. Vindt de code het lettertype van een beslissende cel niet, dan blijft de tabel zoals hij is. Een kop op de verkeerde rij is voor een schermlezer erger dan geen kop, want dan wordt elke cel bij een verkeerde kolom genoemd en is er niets aan te zien.
  4. De metadata goedzetten. De titel, de taal, DisplayDocTitle en MarkInfo, en bij een document met tags de PDF/UA-identifier. Ze zitten allemaal in het documentwoordenboek of in de metadata, en niet in de pagina's, dus aan wat je ziet verandert niets.

De beeldcontrole

Na elke reparatie tekenen we elke pagina van het origineel en van het resultaat, en vergelijken we ze beeldpunt voor beeldpunt. Wijkt het beeld af, dan staat dat in je verslag. De reparatie hoort de tags te veranderen en niet de bladspiegel, dus een afwijking is een reden om te kijken. Wijzig je zelf een tekstkleur in de editor, dan hóórt het beeld te veranderen, en dan meldt de tool het niet als afwijking.

Wat de reparatie niet verzint

Een titel die nergens in het bestand staat, kan de tool niet weten. Wat er uit de tekst is afgeleid staat als zodanig in je verslag, met de reden erbij, en een afgeleide titel houdt de oplevering tegen tot een mens ernaar heeft gekeken. De taal wordt uit stopwoorden afgeleid en alleen als er genoeg signaal is: onder die grens blijft het veld leeg. Een verkeerd ingestelde taal is erger dan een ontbrekende, want dan leest een schermlezer Nederlandse tekst met een Engelse stem voor.

Een tekstalternatief schrijft de tool nooit. Wat er op een afbeelding staat, weet degene die het document maakte.

Wat er niet draait

0 van de 31 scenario's staan wel in de kennisbank en draaien nog niet in deze tool. Over die punten zegt je verslag niets, en dat is iets anders dan "in orde".

Waar de tool ophoudt

Het meeste van wat een document toegankelijk maakt, is een oordeel over de inhoud. Daar komt de tool niet aan, en dat is geen tekortkoming maar de grens van wat een programma kan weten.

  • Of een alternatief het goede alternatief is. De tool ziet dat er tekst staat, niet of die tekst de afbeelding dekt.
  • Of een kop op het goede niveau staat. Dat de niveaus oplopen zegt niets over de opbouw van je verhaal.
  • Of de leesvolgorde klopt. De tool ziet dat de tagvolgorde afwijkt van de volgorde op de pagina. Welke van de twee de goede is, weet de schrijver.
  • Of de titel het document dekt. Een titel die volgens de regels klopt, kan de verkeerde titel zijn.
  • Kleur en contrast. De toets zegt hier niets over, want dat vraagt het tekenen van de pagina. Het contrastscherm in de editor doet dat wel, en meet elke kleurcombinatie tegen de eis van 4,5 op 1.

Wat dit niet is

Dit is geen PDF/UA-verklaring en geen conformiteitsverklaring. PDF/UA-1 is een andere norm dan WCAG, met eigen eisen die niet allemaal over de lezer gaan. Wij toetsen aan wat een bezoeker merkt, en de nummers in je verslag verwijzen naar WCAG-succescriteria.

Bij een document met tags zetten we wel de aanduiding PDF/UA-1 in de metadata. PAC en veraPDF melden het als die ontbreekt, en een lezer merkt er niets van. Het is geen garantie dat je document aan PDF/UA voldoet.

Het is ook geen vervanging van een audit. Een audit is werk van een auditor die je document leest, met een schermlezer doorloopt en er een oordeel over geeft. Deze tool haalt daar het deel uit dat een machine kan doen, zodat er tijd overblijft voor de rest.

Repareer een document Voorwaarden