ARIA Authoring Practices Guide
Se også: APG, ARIA APG, Authoring Practices Guide
W3C's mønstersbibliotek for tilgængelige brugerdefinerede widgets. APG er den operative vejledning til ARIA-specifikationen — den viser, hvordan ARIA bruges korrekt.
ARIA-specifikationen definerer et vokabular af roller, tilstande og egenskaber. ARIA Authoring Practices Guide forklarer, hvordan man rent faktisk bruger dem: hvilke tastaturinteraktioner hvert mønster kræver, hvordan fokus bevæger sig igennem en widget, hvad der skal annonceres ved tilstandsændringer, og hvordan DOM’en skal se ud.
Hvad APG indeholder
APG dokumenterer den kanoniske implementering af alle de widget-mønstre, som ARIA-specifikationen er skrevet til at understøtte:
- Comboboxes (autofuldførelsmønsteret med besværlig tastaturopførsel, som næsten alle implementerer forkert).
- Dialoger — modale og ikke-modale, med komplet fokus-fælde og adfærd for returnering af fokus ved lukning.
- Disclosure-widgets (det simple vis/skjul-mønster).
- Menuer og menulinjer — den slags der kræver pil-tasts navigation, ikke blot tab.
- Faneblade — tab/tabpanel-par med piltasts-navigation og semantik for automatisk kontra manuel aktivering.
- Trævisninger — hierarkisk navigation som en filtræsstruktur.
- Listefelter — enkelt- og flervalg.
- Spinknappe, skydeknapper, karruseller og et dusin mere.
Hver mønsterside har tre dele: et fungerende live-eksempel,
tastaturinteraktionstabellen og de præcise ARIA-attributter der bruges.
Der er også landmærke-mønstre — vejledning om <header>, <nav>,
<main> og de ARIA-roller, der knytter sig til dem — samt et afsnit om
anti-mønstre, der forklarer, hvad man ikke skal gøre.
Hvornår man skal bruge det
APG er mest nyttig, når man er ved at bygge en widget uden et tilsvarende native HTML-element. Inden man skriver en eneste linje kode, bør man tjekke, om APG har mønsteret. Næsten altid gælder:
- Tastaturinteraktionerne, man skal implementere, er allerede specificeret.
- DOM-strukturen er allerede dokumenteret.
- ARIA-attributterne er allerede fastlagt.
At springe dette trin over er den måde, teams leverer “tilgængelige” widgets, der forvirrer skærmlæsere på måder, som intet automatisk værktøj opdager. APG er forskellen mellem en combobox, der virker for alle, og en der kompilerer men bryder sammen for skærmlæserbrugere.
Hvad APG eksplicit ikke er
APG er ikke en normativ specifikation. De normative dokumenter er selve ARIA-specifikationen og WCAG. APG er vejledning: at implementere en widget nøjagtig som APG viser, er den anbefalede vej, men ikke den eneste lovlige løsning. Det sagt er det et signal om, at man måske ikke forstår mønsteret fuldt ud, hvis man afviger fra APG uden en dokumenteret begrundelse.
APG erstatter heller ikke native HTML. Hvis <select> kan løse opgaven
for en dropdown, skal man bruge <select> — ikke gribe fat i APG’s
combobox-mønster, blot fordi det lyder mere avanceret.