Bekijk deze presentatie met Opera in full-screen modus.

WAI-ARIA

Voor toegankelijke webapplicaties

Arjan Eising, 8 mei 2009

Wie ben ik?

1999: HTML voor webpagina's

Nu: HTML ook voor webapplicaties

Hoe zit het nu met webapplicaties?

Tijd voor een voorbeeld.

Toegankelijkheid

Webtoegankelijkheid betekent dat mensen met beperkingen het web kunnen waarnemen en begrijpen, dat ze ermee kunnen navigeren en interacteren, en dat ze kunnen bijdragen aan het web.

WAI: Web Accessibility Initiative

WAI start in 2006 het ARIA project om webapplicaties toegankelijk te maken.

WAI is onderdeel van het W3C, gericht op toegankelijkheid. Het heeft ook o.a. de WCAG specificatie ontwikkeld.

Wat doet ARIA?

ARIA zit als een schil tussen de webapplicatie en de user-agent (eg browser).

Als JavaScript iets veranderd aan de HTML, registreerd ARIA dat, en geeft dat door aan de user-agent.

ARIA moet dus door de user-agent ondersteund worden.

ARIA best-practices

Voor alle widgets en UI-elementen zijn best-practices opgesteld.

Denk aan: hoe te navigeren met het toetsenbord.

Pas op! Code!

Voorbeeld: het role-attribuut

<a role="button" onclick="action">
  Don't press
</a>

Je hoeft niet perse attributen in je HTML op te nemen, je kan ze dynamisch genereren met JavaScript.

Alles widgets en UI-elementen zitten al in het OS

Schermafbeelding van een Mac OS X venster met sliders.

Nog meer: grids, tree-views, tab panels, rich-text editors, media-players et cetera.

Overige attributen

Attributen om de status van een UI-element aan te duiden.

Voorbeelden

Ons voorbeeld

<div role="toolbar" aria-activedescendant="a">
  <a role="button" id="a">A</a>
  <a role="button" id="b">B</a>
  <a role="button" id="c">C</a>
</div>

Handig: ARIA en CSS

Gebruik van onder andere CSS sprites om minder JavaScript code te hoeven schrijven.

a[aria-pressed] {
  background: url(mijn-button-image) no-repeat;
  height: 20px;
}
a[aria-pressed=false] {
  background-position: 0 -20px;
}

(En met CSS3 wordt het nog leuker!)

Live regions

Hoe moet de browser handelen als content verandert.

<div aria-live="polite">
  [content]
</div>

Waarden van dit attribuut: off (default), polite en assertive.

Ondersteuning van ARIA

De meest belangrijke speler, Internet Explorer 8, ondersteund ARIA. Belangrijk omdat veel (oudere) spraakssoftware alleen overweg kunnen met IE.

Firefox 3

Laatste versies van Jaws en Window-Eyes (spraaksoftware) ondersteunen het ook.

Sommige delen van YUI-library zijn van ARIA-attributen en best-practices voorzien.

Meer lezen

Bedankt! Vragen?

Foto credits