u bent hier

Als je niet vertrouwd bent met Accessible Rich Internet Applications, lees dan eerst het artikel Wat is ARIA?
Dit artikel gaat over een speciefieke waarde voor het role-attribuut, namelijk role="application". We leggen uit waarom je deze nooit gebruikt in webpagina's.

Wat doet role="application"?

Als een ontwikkelaar role="application" toevoegt aan een component van een webpagina, dan krijgen (de gebruikers van) screenreaders en andere assistive technologies de boodschap dat ze die component moeten behandelen zoals een desktop-toepassing. Het gevolg is dat een screenreader alle functionaliteit uitschakelt die standaard voorzien is voor componenten van een website (tabben van link naar link, met pijltjestoetsen door een keuzelijst, het aankondigen van koppen en lijsten, ...). Als ontwikkelaar moet je dit alles nu zelf programmeren. Met role="application" neem je zelf in handen hoe screenreaders en andere assistive technologies moeten werken. Daarmee neem je als ontwikkelaar een enorme verantwoordelijkheid op.

Meestal niet gebruiken

We noemen een component snel een applicatie, maar dit betekent meestal niet dat je role="application" nodig hebt. Als de component gebruikmaakt van standaard HTML-elementen (keuzelijsten, selectievakjes, invoervelden, hyperlinks, paragrafen) is er geen reden om role="application" te gebruiken. Screenreaders en andere assistive technologies moeten immers niets speciaals doen om met deze componenten om te gaan. Ook als de component dynamischer is (zoals een slideshow, treeview, toolbar, menu, tabs enz.) is role="application" niet nodig. De ARIA authoring practices bieden hier oplossingen voor. Als je deze authorign practices volgt, is de kans groter dat assistive technologies het ondersteunen en zo hoef je het wiel niet opnieuw uit te vinden.

Gebruik role="application" niet als het niet nodig is. Foutief (lees: overbodig) gebruik van role="application" maakt een webpagina of onderdeel ervan totaal onbruikbaar voor gebruikers van screenreaders en andere assistive technologies. De component zal immers totaal anders reageren dan de gebruiker verwacht.

Wanneer wel gebruiken?

Enkel als de component hoofdzakelijk niet bestaat uit standaard HTML en zeer interactief is, kan je role="application" overwegen. Dus enkel voor componenten die weliswaar in de browser draaien maar eigenlijk een desktop-toepassing zijn in plaats van webcontent, voorbeeld online presentaties.

Als je het gebruikt, plaats het dan op een element dat enkel de component bevat waarvoor het van toepassing is.

Conclusie

Als je role="application" gebruikt, moet je

  • goed afwegen of het wel de bedoeling is
  • zelf programmeren hoe de component werkt met een screenreader en andere assistive technologies
  • die werking ook uitleggen aan de gebruiker.

Dit is een heel ander vak dan websites bouwen en het vereist grondig testen met verschillende screenreaders.

Bronnen


Reacties

Reageer als eerste