Normen

ARIA Authoring Practices Guide

Zie ook: APG, ARIA APG, Authoring Practices Guide

De patroonbibliotheek van het W3C voor toegankelijke aangepaste widgets. De APG is de praktische handleiding bij de ARIA-specificatie — het toont hoe ARIA er correct gebruikt uitziet.

De ARIA-specificatie definieert een woordenschat van rollen, toestanden en eigenschappen. De ARIA Authoring Practices Guide legt uit hoe deze in de praktijk worden gebruikt: welke toetsenbordinteracties elk patroon vereist, hoe de focus zich door een widget beweegt, wat er wordt aangekondigd bij toestandswijzigingen en hoe de DOM eruit moet zien.

Wat de APG bevat

De APG documenteert de canonieke implementatie van elk widgetpatroon dat de ARIA-specificatie ondersteunt:

  • Comboboxen (het patroon voor automatisch aanvullen met lastig toetsenbordgedrag dat vrijwel iedereen fout implementeert).
  • Dialoogvensters — modaal en niet-modaal, met volledige focustrap en gedrag voor het terugplaatsen van de focus bij sluiten.
  • Disclosure-widgets (het eenvoudige toon/verberg-patroon).
  • Menu’s en menubalken — het type dat pijltoetsnavigatie vereist, niet alleen Tab.
  • Tabs — tab/tabpanel-paren met pijltoetsnavigatie en semantiek voor automatische versus handmatige activering.
  • Boomstructuurweergaven — hiërarchische navigatie in bestandsboomstijl.
  • Lijstboxen — enkelvoudige en meervoudige selectie.
  • Draaiknoppen, schuifregelaars, carrousels en nog een dozijn andere.

Elke patroompagina bestaat uit drie delen: een werkend live-voorbeeld, de tabel met toetsenbordinteracties en de precieze ARIA-attributen die worden gebruikt. Er zijn ook landmark-patronen — richtlijnen voor <header>, <nav>, <main> en de ARIA-rollen die hieraan gekoppeld zijn — en een sectie over anti-patronen die uitleggen wat men juist niet moet doen.

Wanneer de APG te raadplegen

De APG is het nuttigst wanneer een widget gebouwd moet worden waarvoor geen native HTML-element bestaat. Controleer vóór het schrijven van ook maar één regel code of de APG het patroon al bevat. Vrijwel altijd geldt:

  • De benodigde toetsenbordinteracties zijn al gespecificeerd.
  • De DOM-structuur is al gedocumenteerd.
  • De ARIA-attributen zijn al uitgewerkt.

Deze stap overslaan is de manier waarop teams “toegankelijke” widgets opleveren die schermlezers in de war brengen op een manier die geen enkel geautomatiseerd hulpmiddel detecteert. De APG is het verschil tussen een comboBox die voor iedereen werkt en een die compileert maar stukgaat voor schermlezergebruikers.

Wat de APG uitdrukkelijk niet is

De APG is geen normatieve specificatie. De normatieve documenten zijn de ARIA-specificatie zelf en WCAG. De APG biedt richtlijnen: een widget exact implementeren zoals de APG aangeeft is het aanbevolen traject, maar niet de enige geldige aanpak. Afwijken van de APG zonder gedocumenteerde reden is echter een signaal dat het patroon mogelijk niet volledig wordt begrepen.

De APG vervangt ook geen native HTML. Als <select> volstaat voor een keuzelijst, gebruik dan <select> — het APG-comboboxpatroon is niet nodig alleen omdat het geavanceerder klinkt.