1 Accessible Rich Internet Applications (ARIA) A-Tag, Wien, 21. November 2008 Martin Kliehm, Senior Frontend Engineer
2 Accessible Rich Internet Applications. ARIA ist ein W3C-Entwurf für barrierefreies Web 2.0. Es fügt hinzu: »Fokusierbarkeit »Semantik »den aktueller Zustand »Beziehungen zwischen Elementen »informiert über dynamische Aktualisierungen
3 Accessible Rich Internet Applications. »Februar 2005: Jesse James Garrett prägt den BegriffAjax (Asynchronous JavaScript and XML)Ajax »März 2005: Richard Schwerdtfeger und Becky Gibson stellen ARIA auf CSUN vorARIA »August 2005: IBM spendet eine große Menge Quellcode für den Mozilla Browsergroße Menge Quellcode »August 2005: Die ersten Standardentwürfe für ARIA werden veröffentlicht »Juli 2006: Das Role-Attribut wird als XHTML-Modul veröffentlicht »2008: Opera, Apple und Microsoft unterstützen ARIA
4 Wo bin ich? »Assistive Technologien (AT) müssen wissen, wo sie sich gerade befinden. »Problem: bisher konnten nur Links und Texteingabefelder den Tab-Fokus erhalten
5 Die Lösung: tabindex Chris Heilmann
6 tabindex revisited.
7 Was ist das? »So kann man hintabben, aber was ist das? Chris Heilmann
8 Semantischer Zuckerguss »Das role -Attribut fügt semantische Bedeutung hinzu: Chris Heilmann
9 Semantischer Zuckerguss »Das role Attribut ermöglicht es, den Zweck eines Elements mit maschinenlesbarer, semantischer Information auszustatten. »Der User Agent mappt die Rolle in die Accessibility API des zugrundeliegenden Frameworks. Tool zur Überprüfung z.B. MsaaVerifyMsaaVerify »Assistive Technologien (z.B. Screenreader wie Window Eyes 5.5+, JAWS 7.0+, ZoomText, NVDA, Orca) können die Rolle dann verwenden.
10 Überprüfung der Rolle in der MSAA
11 Rollentypen »Es gibt Landmark role s wie banner, main, navigation, search oder secondary »Document Structure role s wie description, directory, group, presentation, region, section, separator »User Input Control role s wie input, select, listbox, combobox, option, checkbox, radio, radiogroup, textbox, range, spinbutton »User Interface Element role s wie button, link, menu, menubar, toolbar, menuitem, slider, tooltip, tabpanel, tablist, tab, tree, treeitem »Specialized role s wie alert, application, dialog, marquee, log, status, progressbar, timer
12 Semantischer Zuckerguss Chris Heilmann […]
13 Semantischer Zuckerguss role="dialog"
14 Semantischer Zuckerguss role="dialog"
15 Welchen Zustand hat dieses Element?
16 ARIA States and Properties. Change sort order price
17 ARIA labelled-by und described-by. Herunterfahren nach Minuten
18 Live Regions: Ajax Support Nachname ist erforderlich
19 Implementierung […]
20 Beispiele
21 Erforderliches Eingabefeld
22 Fehler im Eingabefeld
23 Reiternavigation / Registerkarte Aktuelles Projekte Ansprechpartner Institute […]
24 Reiternavigation / Registerkarte mit Link als Fallback ohne JavaScript Aktuelles […]
25 JavaScript für Reiternavigation / Registerkarte. »Dem aktiven Reiter einen tabindex="0" zuweisen, den inkativen tabindex="-1" »Event Listener für onclick, onkeydown, onkeypress setzen, Event Delegation einsetzen »Tastaturbedienbarkeit einarbeiten: Pfeiltasten, strg + Tab, strg + Shift + Tab »Bei Klick den aktiven Reiter per class="active" und tabindex="0" kennzeichnen, bei den inaktiven die Klasse entfernen und tabindex="-1" setzen, aktives Tabpanel einblenden »Den Screenreaderbuffer aktualisieren
26 JavaScript für Reiternavigation / Registerkarte. … oder ein JavaScript-Framework verwenden: »dōjōdōjō »YUIYUI »jQuery UIjQuery UI In jQuery UI ist ARIA noch sehr neu und derzeit nicht vollständig implementiert.
27 Fortschrittbalken
28 Schieberegler
29 Menübaum
30 Links »WAI ARIA »Introduction to WAI ARIA dev.opera.com/articles/view/introduction-to-wai-aria/ dev.opera.com/articles/view/introduction-to-wai-aria/ »WAI ARIA Best Practices »Mozilla ARIA FAQ developer.mozilla.org developer.mozilla.org »Mein Blog learningtheworld.eu learningtheworld.eu
31 Besten Dank für Ihre Aufmerksamkeit. martin.kliehm (at) namics.com