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 nog geen complete test. Zowel WCAG als PDF/UA zijn essentieel voor een toegankelijke pdf.

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

Controleer of elementen die artefact moeten zijn, niet als echte content zijn getagd.

01-002 – Echte content als artefact

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

01-006 – Semantisch onjuiste tags

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

Checkpoint 02: Role Mapping

02-002 – Onjuiste toewijzing custom tags

Beoordeel of custom tags correct zijn toegewezen aan standaard structure types die semantisch passen.

Checkpoint 03: Flickering

03-001 – Flikkering door acties

Controleer of interactieve elementen niet leiden tot flikkeringen.

03-002 – Flikkering door multimedia

Controleer of multimedia objecten niet leiden tot flikkeringen.

03-003 – Flikkering door JavaScript

Controleer of JavaScript-functionaliteit niet leidt tot flikkeringen.

Checkpoint 04: Color and Contrast

04-001 – Informatie alleen door visuele middelen

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

Controleer of media met geluid een tekstalternatief heeft.

05-002 – Audio zonder transcript

Controleer of geluidsfragmenten een volledig transcript hebben.

05-003 – JavaScript-geluiden zonder visuele feedback

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

Checkpoint 06: Metadata

06-004 – Onduidelijke documenttitel

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

Checkpoint 08: OCR Validation

08-001 – OCR-fouten in tekst

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

08-002 – OCR-fouten in tags

Controleer of alle OCR-tekst correct is getagd.

Checkpoint 09: Appropriate Tags

09-001 – Onjuiste leesvolgorde

Controleer of tags in logische leesvolgorde staan.

09-002 – Verkeerd geneste elementen

Beoordeel of structure elements semantisch juist zijn genest.

09-003 – Verkeerd toegepaste structure types

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

Checkpoint 11: Declared Natural Language

11-007 – Verkeerde taalcode

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

Checkpoint 12: Stretchable Characters

12-001 – Ontoegankelijke uitgerekte tekens

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

Checkpoint 13: Graphics

13-001 – Afbeeldingen zonder <Figure>-tag

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

13-002 – Links met afbeeldingen zonder beschrijving

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

13-003 – Bijschriften zonder <Caption>-tag

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

13-005 – Daadwerkelijke tekst waar alternatieve tekst beter is

Controleer of “Alternatieve tekst voor afbeeldingen” beter zou zijn dan “Daadwerkelijke tekst” voor een <Figure>-tag.

13-006 – Afbeeldingsgroepen apart getagd

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

13-007 – Complexe afbeelding zonder alternatief

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

13-008 – Afbeelding van tekst zonder daadwerkelijke tekst

Controleer of afbeeldingen van tekst een tekstalternatief krijgen via “Daadwerkelijke tekst” (met de exacte tekst).

Checkpoint 14: Headings

14-001 – Koppen zonder <Hx>-tag

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

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

14-005 – Diepe kopniveaus zonder juiste tag

Controleer of diepere kopstructuren de juiste tags hebben.

Checkpoint 15: Tables

15-001 – Rijkoppen zonder <TH>-tag

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

15-002 – Kolomkoppen zonder <TH>-tag

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

15-004 – <Table>-tag voor presentatie in plaats van data

Controleer of <Table>-tags alleen worden gebruikt voor echte tabeldata in rijen en kolommen.

15-005 – Onduidelijke tabelkoppen

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

Checkpoint 16: Lists

16-001 – Genummerde lijst zonder ListNumbering-attribuut

Controleer of genummerde lijsten het ListNumbering-attribuut hebben ingesteld.

16-002 – ListNumbering-attribuut met verkeerde waarde

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

16-003 – Lijst zonder lijsttags

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

Checkpoint 17: Mathematical Expressions

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

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

Checkpoint 18: Page Headers and Footers

18-001 – Kop- en voettekst als paginering-artefact

Controleer of kop- en voetteksten als pagination-artefact zijn gemarkeerd.

18-002 – Kop/voettekst zonder juist subtype

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

Checkpoint 19: Notes and References

19-001 – Voetnoten zonder <Note>-tag

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

19-002 – Verwijzingen zonder <Reference>-tag

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

Checkpoint 22: Article Threads

22-001 – Kolommen met verkeerde leesvolgorde

Controleer of article threads een logische leesvolgorde volgen.

Checkpoint 24: Non-Interactive Forms

24-001 – Printformulier zonder PrintFields-attribuut

Controleer of niet-interactieve formulieren (om uit te printen) het PrintFields-attribuut hebben.

Checkpoint 28: Annotation

28-001 – Annotatie in verkeerde leesvolgorde

Controleer of annotaties juist in de leesvolgorde staan.

28-003 – Annotatie met verkeerde semantische functie

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

28-013 – Image map zonder toetsenbordnavigatie

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

Checkpoint 29: Actions

29-001 – Tijdsgevoelige toetsenbordinvoer zonder alternatief

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

Checkpoint 31: Fonts

31-010 – Lettertype zonder juiste licentie

Controleer de licentierechten van ingesloten lettertypen.

Bronnen