Wil je weten of een PDF toegankelijk is? Dan is het Matterhorn Protocol jouw beste vriend. Dit testmodel controleert of PDF’s voldoen aan de regels van PDF/UA.
Wat zit er in het Matterhorn Protocol?
Het protocol bevat 31 checkpoints met 136 punten. Deze punten dekken alle technische eisen van PDF/UA-1 af.
Zo werkt het testen:
- 87 punten test je automatisch met software zoals PAC2024 (Machine)
- 47 punten moet je handmatig controleren (Human)
- 2 punten hebben geen specifieke test
Hoe verhoudt het zich tot PDF/UA en WCAG?
WCAG geeft algemene toegankelijkheidseisen voor alle webcontent, maar is technologie-onafhankelijk. PDF/UA (ISO 14289-1) stelt de technische eisen voor toegankelijke PDF’s. Daarbij helpt het Matterhorn Protocol om deze eisen concreet te testen. Dus: WCAG zegt wát er toegankelijk moet zijn, PDF/UA zegt hóe je dat in een PDF doet.
Het Matterhorn Protocol is dus een belangrijke eerste stap, maar geen complete test.
Overzicht van de handmatige controles
Hieronder vind je een handige samenvatting van de Human (H) controles uit het Matterhorn Protocol. Deze checkpoints vereisen een handmatige beoordeling. Dit is waar je op moet letten:
Checkpoint 01: Real content tagged
01-001 – Artefacten als echte content
Test: Controleer of elementen die artefact moeten zijn, niet als echte content zijn getagd.
- 1.3.2 Betekenisvolle volgorde
01-002 – Echte content als artefact
Test: Controleer of belangrijke content niet ten onrechte als artefact is gemarkeerd.
- 1.3.2 Betekenisvolle volgorde
01-006 – Semantisch onjuiste tags
Test: Beoordeel of de gebruikte structure types en attributes semantisch passen bij hun inhoud.
- 1.3.1 Info en relaties(?)
Checkpoint 02: Role Mapping
02-002 – Onjuiste toewijzing custom tags
Test: Beoordeel of custom tags correct zijn toegewezen aan standaard structure types die semantisch passen.
- 1.3.1 Info en relaties
Checkpoint 03: Flickering
03-001 – Flikkering door acties
Test: Controleer of interactieve elementen niet leiden tot flikkeringen.
- 2.3.1 Drie flitsen of beneden drempelwaarde
03-002 – Flikkering door multimedia
Test: Controleer of multimedia objecten niet leiden tot flikkeringen.
- 2.3.1 Drie flitsen of beneden drempelwaarde
03-003 – Flikkering door JavaScript
Test: Controleer of JavaScript-functionaliteit niet leiden tot flikkeringen.
- 2.3.1 Drie flitsen of beneden drempelwaarde
Checkpoint 04: Color and Contrast
04-001 – Informatie alleen door visuele middelen
Test: Controleer of informatie die alleen door contrast, kleur, formaat of opmaak wordt overgebracht ook op andere manieren beschikbaar is.
- 1.4.1 Gebruik van kleur
Checkpoint 05: Sound
05-001 – Media zonder tekstalternatief
Test: Controleer of media met geluid een tekstalternatief heeft.
- 1.2.2 Ondertitels voor doven en slechthorenden (vooraf opgenomen)
05-002 – Audio zonder transcript
Test: Controleer of geluidsfragmenten een volledig transcript hebben.
- 1.2.3 Audiodescriptie of media-alternatief (vooraf opgenomen)
05-003 – JavaScript-geluiden zonder visuele feedback
Test: Controleer of JavaScript-functies die een geluidssignaal gebruiken ook op een andere manier beschikbaar is.
- 1.3.3 Zintuiglijke waarneming
Checkpoint 06: Metadata
06-004 – Onduidelijke documenttitel
Test: Controleer of de titel in de metagegevens het document goed beschrijft.
- 2.4.1 Paginatitel
Checkpoint 08: OCR Validation
08-001 – OCR-fouten in tekst
Test: Controleer of OCR-gegenereerde tekst geen (significante) fouten bevat.
- Geen
08-002 – OCR-fouten in tags
Test: Controleer of alle OCR-tekst correct is getagd.
- 1.3.1 Info en relaties
Checkpoint 09: Appropriate Tags
09-001 – Onjuiste leesvolgorde
Test: Controleer of tags in logische leesvolgorde staan.
- 1.3.2 Betekenisvolle volgorde
09-002 – Verkeerd geneste elementen
Test: Beoordeel of structure elements semantisch juist zijn genest.
- 4.1.1 Parsing
09-003 – Verkeerd toegepaste structure types
Test: Beoordeel of elk structure type semantisch past bij de inhoud (na toepassen van role mapping).
- 1.3.1 Info en relaties
Checkpoint 11: Declared Natural Language
11-007 – Verkeerde taalcode
Test: Controleer of de opgegeven taalcode overeenkomt met de taal van de content.
- 3.1.1 Taal van de pagina
- 3.1.2 Taal van onderdelen
Checkpoint 12: Stretchable Characters
12-001 – Ontoegankelijke uitgerekte tekens
Test: Bekijk alle uitgerekte tekens (zoals pijlen) en controleer of ze toegankelijk zijn gecodeerd.
- Geen
Checkpoint 13: Graphics
13-001 – Afbeeldingen zonder <Figure>
-tag
Test: Controleer of alle betekenisvolle afbeeldingen een <Figure>
-tag hebben.
- 1.1.1 Niet-tekstuele content
13-002 – Links met afbeeldingen zonder beschrijving
Test: Controleer of het tekstalternatief van alle links met grafische elementen zowel de link als afbeelding beschrijft.
- 1.1.1 Niet-tekstuele content
- 2.4.4 Linkdoel (in context)
13-003 – Bijschriften zonder <Caption>
-tag
Test: Controleer of bijschriften bij afbeeldingen, tabellen of lijsten een <Caption>
-tag hebben.
- 1.3.1 Info en relaties
13-005 – Daadwerkelijke tekst waar alternatieve tekst beter is
Test: Controleer of “Alternatieve tekst voor afbeeldingen” beter zou zijn dan “Daadwerkelijke tekst” voor een <Figure>
-tag.
- 1.1.1 Niet-tekstuele content
13-006 – Afbeeldingsgroepen apart getagd
Test: Controleer of afbeeldingen die alleen samen betekenis hebben ook als groep zijn getagd.
- Geen
13-007 – Complexe afbeelding zonder alternatief
Test: Kijk of complexe afbeeldingen een toegankelijker alternatief kunnen krijgen (zoals een tabel voor een grafiek).
- Geen
13-008 – Afbeelding van tekst zonder daadwerkelijke tekst
Test: Controleer of afbeeldingen een tekstalternatief krijgen via “Daadwerkelijke tekst” (met de exacte tekst).
- 1.4.5 Afbeeldingen van tekst
Checkpoint 14: Headings
14-001 – Koppen zonder <Hx>
-tag
Test: Controleer of alle teksten die er uit zien als een kop een <Hx>
-tag hebben (<H1>
tot en met <H6>
).
- 1.3.1 Info en relaties
14-004 – Aangepaste koppen zonder mapping
Test: Controleer of aangepaste heading-tags correct zijn toegewezen aan standaard kopniveaus.
- 1.3.1 Info en relaties
14-005 – Diepe kopniveaus zonder juiste tag
Test: Controleer of diepere kopstructuren de juiste tags hebben.
- 1.3.1 Info en relaties
Checkpoint 15: Tables
15-001 – Rijkoppen zonder <TH>
-tag
Test: Controleer of rijkoppen in een tabel een <TH>
-tag hebben.
- 1.3.1 Info en relaties
15-002 – Kolomkoppen zonder <TH>
-tag
Test: Controleer of kolomkoppen in een tabel een <TH>
-tag hebben.
- 1.3.1 Info en relaties
15-004 – <Table>
-tag voor presentatie in plaats van data
Test: Controleer of <Table>
-tags alleen worden gebruikt voor echte tabeldata in rijen en kolommen.
- 1.3.1 Info en relaties
15-005 – Onduidelijke tabelkoppen
Test: Controleer of elke gegevenscel in een complexe tabel een duidelijke kopcel heeft.
- 2.4.6 Koppen en labels
Checkpoint 16: Lists
16-001 – Genummerde lijst zonder ListNumbering-attribuut
Test: Controleer of genummerde lijsten het ListNumbering-attribuut hebben ingesteld.
- Geen
16-002 – ListNumbering-attribuut met verkeerde waarde
Test: Controleer of ListNumbering alleen toegestane waarden gebruikt (Decimal, UpperRoman, LowerRoman, UpperAlpha, LowerAlpha).
- Geen
16-003 – Lijst zonder lijsttags
Test: Controleer of visuele lijsten een <L>
-tag hebben (L>
, <LI>
, <Lbl>
en <LBody>
)
- 1.3.1 Info en relaties
Checkpoint 17: Mathematical Expressions
17-001 – Wiskundige formule zonder <Formula>
-tag
Test: Controleer of alle wiskundige formules een <Formula>
-tag hebben.
- 1.3.1 Info en relaties
Checkpoint 18: Page Headers and Footers
18-001 – Kop- en voettekst als paginering-artefact
Test: Controleer of kop- en voetteksten als pagination-artefact zijn gemarkeerd.
- Geen
18-002 – Kop/voettekst zonder juist subtype
Test: Controleer of kop- en voettekst-artefacten het juiste subtype hebben (Header of Footer).
- Geen
Checkpoint 19: Notes and References
19-001 – Voetnoten zonder <Note>
-tag
Test: Controleer of alle voetnoten en eindnoten een <Note>
-tag hebben.
- 1.3.1 Info en relaties
19-002 – Verwijzingen zonder <Reference>
-tag
Test: Controleer of verwijzingen (naar voetnoten en eindnoten) een <Reference>
-tag hebben.
- 1.3.1 Info en relaties
Checkpoint 22: Article Threads
22-001 – Kolommen met verkeerde leesvolgorde
Test: Controleer of article threads een logische leesvolgorde volgen.
- 1.3.2 Betekenisvolle volgorde
Checkpoint 24: Non-Interactive Forms
24-001 – Printformulier zonder PrintFields-attribuut
Test: Controleer of niet-interactieve formulieren (om uit te printen) het PrintFields-attribuut hebben.
- Geen
Checkpoint 28: Annotation
28-001 – Annotatie in verkeerde leesvolgorde
Test: Controleer of annotaties juist in de leesvolgorde staan.
- 1.3.2 Betekenisvolle volgorde
28-003 – Annotatie met verkeerde semantische functie
Test: Beoordeel of annotaties die voor opmaak worden gebruikt correct zijn getagd volgens hun semantische functie.
- 1.3.1 Info en relaties
28-013 – Image map zonder toetsenbordnavigatie
Test: Controleer of image maps met IsMap=true ook een toegankelijk alternatief hebben voor toetsenbordnavigatie.
- 2.1.1 Toetsenbord
Checkpoint 29: Actions
29-001 – Tijdsgevoelige toetsenbordinvoer zonder alternatief
Test: Controleer of alle interactieve scripts met tijdsgevoelige toetsenbordinvoer een alternatief hebben zonder tijdsgevoelige toetsenbordinvoer.
- 2.1.1 Toetsenbord
Checkpoint 31: Fonts
31-010 – Lettertype zonder juiste licentie
Test: Controleer de licentierechten van ingesloten lettertypen.
- Geen
Bronnen
- ISO 14289-1 (PDF/UA-1)
- ISO 32000-1 (PDF 1.7)
- Matterhorn Protocol 1.1 (PDF, 690KB) (Engelstalig)