PDF en het Matterhorn Protocol

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.

01-002 – Echte content als artefact

Test: Controleer of belangrijke content niet ten onrechte als artefact is gemarkeerd.

01-006 – Semantisch onjuiste tags

Test: Beoordeel of de gebruikte structure types en attributes semantisch passen bij hun inhoud.

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.

Checkpoint 03: Flickering

03-001 – Flikkering door acties

Test: Controleer of interactieve elementen niet leiden tot flikkeringen.

03-002 – Flikkering door multimedia

Test: Controleer of multimedia objecten niet leiden tot flikkeringen.

03-003 – Flikkering door JavaScript

Test: Controleer of JavaScript-functionaliteit niet leiden tot flikkeringen.

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.

Checkpoint 05: Sound

05-001 – Media zonder tekstalternatief

Test: Controleer of media met geluid een tekstalternatief heeft.

05-002 – Audio zonder transcript

Test: Controleer of geluidsfragmenten een volledig transcript hebben.

05-003 – JavaScript-geluiden zonder visuele feedback

Test: Controleer of JavaScript-functies die een geluidssignaal gebruiken ook op een andere manier beschikbaar is.

Checkpoint 06: Metadata

06-004 – Onduidelijke documenttitel

Test: Controleer of de titel in de metagegevens het document goed beschrijft.

Checkpoint 08: OCR Validation

08-001 – OCR-fouten in tekst

Test: Controleer of OCR-gegenereerde tekst geen (significante) fouten bevat.

08-002 – OCR-fouten in tags

Test: Controleer of alle OCR-tekst correct is getagd.

Checkpoint 09: Appropriate Tags

09-001 – Onjuiste leesvolgorde

Test: Controleer of tags in logische leesvolgorde staan.

09-002 – Verkeerd geneste elementen

Test: Beoordeel of structure elements semantisch juist zijn genest.

09-003 – Verkeerd toegepaste structure types

Test: Beoordeel of elk structure type semantisch past bij de inhoud (na toepassen van role mapping).

Checkpoint 11: Declared Natural Language

11-007 – Verkeerde taalcode

Test: Controleer of de opgegeven taalcode overeenkomt met de taal van de content.

Checkpoint 12: Stretchable Characters

12-001 – Ontoegankelijke uitgerekte tekens

Test: Bekijk alle uitgerekte tekens (zoals pijlen) en controleer of ze toegankelijk zijn gecodeerd.

Checkpoint 13: Graphics

13-001 – Afbeeldingen zonder <Figure>-tag

Test: Controleer of alle betekenisvolle afbeeldingen een <Figure>-tag hebben.

13-002 – Links met afbeeldingen zonder beschrijving

Test: Controleer of het tekstalternatief van alle links met grafische elementen zowel de link als afbeelding beschrijft.

13-003 – Bijschriften zonder <Caption>-tag

Test: Controleer of bijschriften bij afbeeldingen, tabellen of lijsten een <Caption>-tag hebben.

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.

13-006 – Afbeeldingsgroepen apart getagd

Test: Controleer of afbeeldingen die alleen samen betekenis hebben ook als groep zijn getagd.

13-007 – Complexe afbeelding zonder alternatief

Test: Kijk of complexe afbeeldingen een toegankelijker alternatief kunnen krijgen (zoals een tabel voor een grafiek).

13-008 – Afbeelding van tekst zonder daadwerkelijke tekst

Test: Controleer of afbeeldingen een tekstalternatief krijgen via “Daadwerkelijke tekst” (met de exacte 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>).

14-004 – Aangepaste koppen zonder mapping

Test: Controleer of aangepaste heading-tags correct zijn toegewezen aan standaard kopniveaus.

14-005 – Diepe kopniveaus zonder juiste tag

Test: Controleer of diepere kopstructuren de juiste tags hebben.

Checkpoint 15: Tables

15-001 – Rijkoppen zonder <TH>-tag

Test: Controleer of rijkoppen in een tabel een <TH>-tag hebben.

15-002 – Kolomkoppen zonder <TH>-tag

Test: Controleer of kolomkoppen in een tabel een <TH>-tag hebben.

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.

15-005 – Onduidelijke tabelkoppen

Test: Controleer of elke gegevenscel in een complexe tabel een duidelijke kopcel heeft.

Checkpoint 16: Lists

16-001 – Genummerde lijst zonder ListNumbering-attribuut

Test: Controleer of genummerde lijsten het ListNumbering-attribuut hebben ingesteld.

16-002 – ListNumbering-attribuut met verkeerde waarde

Test: Controleer of ListNumbering alleen toegestane waarden gebruikt (Decimal, UpperRoman, LowerRoman, UpperAlpha, LowerAlpha).

16-003 – Lijst zonder lijsttags

Test: Controleer of visuele lijsten een <L>-tag hebben (L>, <LI>, <Lbl> en <LBody>)

Checkpoint 17: Mathematical Expressions

17-001 – Wiskundige formule zonder <Formula>-tag

Test: Controleer of alle wiskundige formules een <Formula>-tag hebben.

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.

18-002 – Kop/voettekst zonder juist subtype

Test: Controleer of kop- en voettekst-artefacten het juiste subtype hebben (Header of Footer).

Checkpoint 19: Notes and References

19-001 – Voetnoten zonder <Note>-tag

Test: Controleer of alle voetnoten en eindnoten een <Note>-tag hebben.

19-002 – Verwijzingen zonder <Reference>-tag

Test: Controleer of verwijzingen (naar voetnoten en eindnoten) een <Reference>-tag hebben.

Checkpoint 22: Article Threads

22-001 – Kolommen met verkeerde leesvolgorde

Test: Controleer of article threads een logische leesvolgorde volgen.

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.

Checkpoint 28: Annotation

28-001 – Annotatie in verkeerde leesvolgorde

Test: Controleer of annotaties juist in de leesvolgorde staan.

28-003 – Annotatie met verkeerde semantische functie

Test: Beoordeel of annotaties die voor opmaak worden gebruikt correct zijn getagd volgens hun semantische functie.

28-013 – Image map zonder toetsenbordnavigatie

Test: Controleer of image maps met IsMap=true ook een toegankelijk alternatief hebben voor toetsenbordnavigatie.

Checkpoint 29: Actions

29-001 – Tijdsgevoelige toetsenbordinvoer zonder alternatief

Test: Controleer of alle interactieve scripts met tijdsgevoelige toetsenbordinvoer een alternatief hebben zonder tijdsgevoelige toetsenbordinvoer.

Checkpoint 31: Fonts

31-010 – Lettertype zonder juiste licentie

Test: Controleer de licentierechten van ingesloten lettertypen.

Bronnen