TFH Berlin
4.5. Barrierefreie GUI-Gestaltung
TFH Berlin
Prinzipen Barrierefreie Webseiten Barrierefreie Webapplikationen Barrierefreie Software-GUIs Prüfprogramme
© Ilse Schmiedecke 2008
Motivationsvideo des Schweizer Fernsehens: TFH Berlin
http://youtu.be/b2o_hIdudJc © schmiedecke 13
HCI
2
Barrierefreie Gestaltung TFH Berlin
Barrierefreie Gestaltung – Zugangsmöglichkeiten mit Hilfsmitteln oder unterstützenden Geräte-Einstellungen – Englisch: Accessability – Umfangreiches Regelwerk: WCAG2.0 des W3C "Web Content Accessability Guide" – Weitestgehend übernommen in ISO 9241-171 "Leitlinien für die Zugänglichkeit von Software"
– 3 Konformitätsstufen A - grundsätzliche Bedienbarkeit AA - erweiterte Bedienbarkeit AAA – universelle Bedienbarkeit © schmiedecke 13
HCI
3
Konformitätsbedingungen des WCAG20 TFH Berlin
Bedingung 1 – Konformitätsstufe angeben Bedingung 2 – Konformität stets für ganze Seiten Bedingung 3 – Konformität für Vollständigen Prozess Bedingung 4 – Verzicht auf nicht barrierefreie Elemente Bedingung 5 – Störungsfreier Zugang mit Hilfsmitteln (Steuerbarkeit aller zeitgebundenen Vorgänge und aller Audio-Wiedergaben) © schmiedecke 13
HCI
4
Barrierefreiheit – technisch und inhaltlich TFH Berlin
Technisch: – Hilfsmittelgerechte Gestaltung – Hilfsmittelkompatible Techniken für Webseiten und Anwendungssoftware
Inhaltlich: – Verstehbarkeit auch mit Hilfsmitteln – Anpassung an Benutzer mit besonderen Einschränungen und Bedürfnissen
© schmiedecke 13
HCI
5
TFH Berlin
WCAG-PRINZIPIEN
© schmiedecke 13
HCI
6
Prinzipien des WCAG TFH Berlin
Zunächst die inhaltlichen Kriterien – die WCAG-Prinzpien
Prinzip 1 – Wahrnehmbarkeit Prinzip 2 – Bedienbarkeit Prinzip 3 – Verständlichkeit Prinzip 4 – Robustheit so in der ISO 9241-171
© schmiedecke 13
HCI
7
Prinzipien des WCAG20 TFH Berlin
Prinzip 1 – Wahrnehmbarkeit
Informationen und Bestandteile der Benutzerschnittstelle müssen den Benutzern so präsentiert werden, dass diese sie wahrnehmen können.
Textalternativen zu Audio- und Bildinformation Medienalternativen und Steuerbarkeit zeitbasierter Medien Anpassbarkeit der Darstellung Unterscheidbare Inhalte
© schmiedecke 13
HCI
8
Prinzipien des WCAG20 TFH Berlin
Prinzip 2 – Bedienbarkeit
Bestandteile der Benutzerschnittstelle und Navigation müssen bedienbar sein.
Bedienbarkeit per Tastatur Steuerung des Zeitverhaltens – Tempo, Pausen, …
Keine anfallsauslösenden Elemente – hektische Animationen, Lichtblitze,…
Freie Navigierbarkeit auch mit Hilfsmitteln – Semantische Auszeichnung, – Tastaturnavigation, überspringbare Blöcke © schmiedecke 13
HCI
9
Prinzipien des WCAG20 TFH Berlin
Prinzip 3 - Verständlichkeit
Informationen und Bedienung der Benutzerschnittstelle müssen verständlich sein.
Lesbarkeit – Sprache, Sprachniveau, Abkürzungen, Aussprache
Linearisierbarkeit – Inhaltiche Linearisierungsreihenfolge
Vorhersehbarkeit – erwartungskonforme Fokuswahl und Navigation, – aussagekräftige Link-Beschriftungen und Alternativtexte
Hilfestellung bei Eingabe – Beschriftungen und Hilfe, z.B. durch Tooltips) – Fehlererkennung u. –vermeidung
© schmiedecke 13
HCI
10
Prinzipien des WCAG20 TFH Berlin
Prinzip 4 – Robustheit
Inhalte müssen robust genug sein, damit sie zuverlässig von einer großen Auswahl an Benutzeragenten einschließlich assistierender Techniken interpretiert werden können.
Valide Auszeichnung Plattform-Kompatibilität (wichtig vor allem für - Javascript-basierte Bedienelemente)
© schmiedecke 13
HCI
11
TFH Berlin
TECHNISCHE KRITERIEN
© schmiedecke 13
HCI
12
Kriterien technischer Barrierefreiheit Hilfsmittelgerechte Gestaltung
TFH Berlin
Für sehbehinderte Nutzer – Skalierbarkeit: • Schriftvergrößerung / Auflösungsveränderung • Bildschirmlupe
– Grafische Reduzierbarkeit • Ausblenden von Farbflächen, Hintergrund- und Dekorationsbildern
Für blinde Nutzer – Linearisierbarkeit: • Screenreader und Braillezeile
– Naviagationunterstützung • Tastaturnavigation innerhalb der Seite • Semantische Navigationsreihenfolge
– Objektlesbarkeit
•
Objektart, Wert, Zustand
– Änderungs-Erkennung
© schmiedecke 13
HCI
13
Technische Anforderungen der Barrierefreiheit TFH Berlin
Webseiten:
Valides HTML Semantische Auszeichnung Layout und Dekor nur durch CSS relative Größenangaben
Rich Internet Applications Zusätzlich ARIA-Auszeichnung
Software: Hilfsmittel erwarten Accessibility-APIs müssen von der GUI-Technologie implementiert werden © schmiedecke 13
HCI
14
Webseiten: Valides HTML / XHTML TFH Berlin
Validität (Gültigkeit) bedeutet Einhaltung der Syntaxregeln Überprüfbar duch frei verfügbare Validatoren z.B. Unicorn: http://validator.w3.org/unicorn/ Bedeutung für die Barrierefreiheit:
Grundvoraussetzung: notwendig, aber nicht hinreichend!
© schmiedecke 13
HCI
15
Webseiten: Textalternativen TFH Berlin
Textalternativen: informativ, aber nicht "geschwätzig"
Quelle: http://www.bitv-lotse.de/ © schmiedecke 13
HCI
16
Webseiten: Textalternativen TFH Berlin
Mit longdesc-Attribut auf externe Textquelle verweisen
Datei beschreibung_wahlbeteiligung.txt: Die Entwicklung der Wahlbeteiligung in Deutschland bei Bundestagswahlen von 1949 bis 2009. 1949 lag die Wahlbeteiligung nur bei 78,5 %. Bis 1969 lag die Beteiligung immer im Bereich von 86 bis 88 %, 1972 gab es einen Sprung auf 91,1 %. In den Folgejahren sank die Beteiligung, bis sie 1990 einen Tiefststand von 77,8 % erreichte. Nach einem kurzen Anstieg ende der 90er, sank die Beteiligung wieder ... © schmiedecke 13
HCI
Quelle: http://www.bitv-lotse.de/
17
Webseiten: Linearisierbarkeit TFH Berlin
Linearisierbarkeit für blinde Nutzer: 1. Inhalt des Dokuments verstehbar gliedern 2. Gliederungsblöcke und – ebenen mit Elementen markieren 3. Mithilfe von CSS Blöcke optisch anordnen 4. Blöcke mit CSS weiter
…. … … … … …
gestalten
© schmiedecke 13
HCI
18
Webseiten: Navigationsunterstützung TFH Berlin
Attribut tabindex – – – – –
Seit HTML 4 für alle Bedienelemente Seit ARIA für alle sichtbaren Elemente (auch div-s) Positive Zahlen (bis 32000) für die Navigationsreihenfolge 0 ist Default und bedeutet Reihenfolge des HTML-Dokuments Negative Zahlen werden nicht durch Tabulatoren angesteuert (Fokus wird programmatisch gesteuert)
... ... // Fokus durch Javascript var progdiv = document.getElementById(‘progaccess‘); Progdiv.focus(); Quelle: dev.opera.com/articles/view/introduction-to-wai-aria/ © schmiedecke 13
HCI
19
Webseiten: Überspringbare Blöcke TFH Berlin
Der Screeenreader linearisiert erbarmungslos! D.h. er beginnt immer wieder von oben. Was am Anfang steht, wird immer wieder vorgelesen, z.B. eine lange Navigationsliste. Abhilfe lt. WCAG:
Gruppierung und Überspringbarkeit verwandter Links:
© schmiedecke 13
HCI
20
Webseiten: Überspringbare Blöcke Unsichtbare Sprungmarken
TFH Berlin
Navigation überspringen Navigation … © schmiedecke 13
CSS: .unsichtbar: { position:absolute; left: -1000px; top: -1000px; width: 0; height:0; }
HCI
21
Die verborgene Sprungmarke TFH Berlin
Im Screenreader:
Im Browser:
Navigation überspringen Navigation link1 link2 link3 ….
link1 link2 link3 …
© schmiedecke 13
HCI
22
Anwendung: Skalierbarkeit TFH Berlin
Skalierbarkeit für Nutzer mit Sehbehinderung: Kein Informationsverlust und kein horizontales Scrollen durch - Schriftvergrößerung - Veränderung der Bildschirmauflösung
Maßnahmen: Keine absoluten Größenangaben! Möglichkeiten: 55 % - Relativ zur aktuellen Größe/Breite/Höhe 0.5em - Relativ zur aktuellen Breite des "M" Tabellen: Breite den -Elementen in Prozent zuordnen, auf keinen Fall scrolling=NO oder Noresize angeben! Texte: min-width und max-width angeben, scrolling=NO © schmiedecke 13
HCI
23
TFH Berlin
WAI-ARIA-AUSZEICHNUNG
© schmiedecke 13
HCI
24
Rich Internet Applications TFH Berlin
Screenreader wird ausgebremst durch Eingebettete Programme wie Flash – Flash wird immer "barrierefreier"
Die Verwendung von Javascript-Widgets – Bedeutung, Bedienung, Zustand bleiben verborgen
Die Verwendung von Ajax – Updates werden nicht erkannt
Textbasierte Markierungen (* für "erforderlich") – und auch das text- und farbbasierte Feedback
© schmiedecke 13
HCI
25
Rich Internet Applications: ARIA TFH Berlin
WAI-ARIA Web Accessibiliy Initiative – Accessible Rich Internet Applications specification seit ca. 2007 – aktueller Status: W3C-Candidate Zusätzliche Auszeichnungsmöglichkeiten für beliebige sichtbare Elemente – Fokusbehandlung, Rollen, Zustände und Eigenschaften – von Hilfsmitteln interpretiert – von Brownsern ignoriert problemlos einsetzbar © schmiedecke 13
HCI
26
ARIA - Rollen TFH Berlin
Rollen bezeichnen die Bedeutung sichtbarer Elemente Rollen-Ontologie in 4 Kategorien Wigets – alert, alertdiaolg, button, checkbox, gridcell, link, menuitem, ...
Composite Widgets – Combobox, grid, listbox, menu, radiogroup, tablist, tree, ...
Document Structure – Article, columnheader, definition, directory, heading, list, ...
Document Landmarks – application, banner, complementary, contentinfo, main, navigation, search, math,...
... ... © schmiedecke 13
HCI
27
ARIA-Zustände und -Eigenschaften TFH Berlin
Zustände und Eigenschaften machen visualisierte Eigenschaften für Hilfsmittel zugänglich aria-valuenow aria-valuemax aria-valuemin aria-valuetext aria-labelledby aria-describedby ...
© schmiedecke 13
HCI
28
ARIA-Beispiel Slider TFH Berlin
HTML-Tag ist input Screenreader erkennt
slider leffective ist ein id, von dem der Text übernommen wird. Berechnung von valuenow kann durch javascript erfolgen
Quelle: dev.opera.com/articles/introduction-to-wai-aria © schmiedecke 13
HCI
29
ARIA-Aktive Regionen TFH Berlin
Aktive Regionen verändern sich, ohne dass die Seite neu geladen werden ( Ajax) Hilfsmittel müssen wissen – – – –
welches aktive Regionen sind wann sie eine Veränderung bekannt geben sollen wieviel sie bei einem Update bekannt geben sollen wann ein Updaten abgeschlossen ist
ARIA bietet die folgenden Attribute – – – –
aria-live aria-atomic aria-busy aria-relevant
© schmiedecke 13
-
Werte off, polite, assertive Bereich, der bei Updaten bekannt zu geben ist Update noch nicht abgeschlossen? welche DOM-Veränderungen werden bekannt gegeben?HCI 30
ARIA-Beispiel List-update TFH Berlin
– relevant=additions: Update wird bekanntgegeben, wenn DOM-Element hinzugefügt wird andere Werte: removals, text, all – atomic=true: gesamte Liste wird bei Update angezeigt/wiedergegeben – live=polite: Benutzeraktion wird nicht unterbrochen andere Werte: off, assertive
© schmiedecke 13
HCI
31
ARIA einsetzen? TFH Berlin
Zitat Gez Lemon, 2008: http://dev.opera.com/articles/view/introduction-to-wai-aria/
Be an early adopter As there are no negative side-effects from using ARIA, and support is already in place, there is nothing to lose by becoming an early adopter, but plenty to gain. Even if you have the simplest of websites, you could include document landmark roles to help users better navigate, and orientate themselves within the content. Besonders wichtig und wünschenswert für JS-Bibliotheken! © schmiedecke 13
HCI
32
Vortrag zu WAI-ARIA
Marco Zehe auf dem MMT 2011
TFH Berlin
https://www.youtube.com/watch?v=QBcV00ZLYDA © schmiedecke 13
HCI
33
TFH Berlin
ACESSABILITY-PRÜFUNG
© schmiedecke 13
HCI
34
Freie Accessibility-Prüfprogramme TFH Berlin
Firefox Accessibility Extension
https://addons.mozilla.org/en-US/firefox/addon/5809/
WebAnywhere
http://webinsight.cs.washington.edu/wa/content.php
Visicheck (simuliert Fehlsichtigkeiten) http://www.vischeck.com/vischeck/
WAVE
http://wave.webaim.org/
© schmiedecke 13
HCI
35
Accessibility-Prüfprogramme TFH Berlin
Vollständige Liste des W3C unter http://www.w3.org/WAI/RC/tools/complete
© schmiedecke 13
HCI
36
TFH Berlin
BARRIEREFREIE GUIS
© schmiedecke 13
HCI
37
Barrierefreie GUIs:
Objekte-Modell Hilfmittelunterstüzung
TFH Berlin
• HTML historisch: rein visuelle Gestaltung kein Modell /unstrukturiertes Modell heute, insbesondere in HTML 5: semantische Auszeichnung Trennung von Struktur (HTML) und visueller Gestaltung (CSS) Struktur liefert Modell
Programmiersprachen: – GUI-Bibliotheken realisieren (zunehmend) MVC es gibt ein strukturiertes Modell mit abstrakten Objekteigenschaften auf das die Hilfsmittel zurückgreifen können GUI-Bibliotheken implementieren Accessability-Schnittstellen auf der Grundlage dieses Modells © schmiedecke 13
HCI
38
Technische Grundlagen: Software Accessibility TFH Berlin
Microsoft Schnittstellen für Zugangs-Hilfsmittel – MSAA bzw MSUIA – zunehmend auch von Clienttechnologien implementiert (flash, …)
Java-Accessibitity – Schnittstellen JAAPI – Klassenbibliothek für Hilfsmittel – Java Accessibility Utilities – Schnittstelle zu MSAA – Java Access Bridge
© schmiedecke 13
HCI
39
Java Accessibility TFH Berlin
JAAPI (Java Accessible API) – Interface javax.accessibility.Accessible wird von GUI-Frameworks standardmäßig implementiert
– AttributAccessibleContext enthält Accessible-Namen, Accessible-Beschreibung, Status, Alternativtext,… automatisch oder von Hand zu setzen:
Tastaturbedienung und -navigation – in allen GUI-Komponenten standardmäßig enthalten © schmiedecke 13
HCI
40
IBM Software Acessibility Checklist
Tastaturalternativen – –
Textalternativen zu Audio und Video Lautstärkeregulierung
Darstellung – – –
Fokus Visuell und Hilfsmittel-lesbar anzeigen Semantische Objektinformation Labels für alle UI-Elemente Hilfsmittelzugang für Formulare
www-03.ibm.com/ able/guidelines/ software/accesssoftware .html
Töne und Multimedia – –
Tastaturbedienbarkeit für alle Aktionen Keine Konflikte mit Tastatur-Accessibility des BS
Objekt-Informationen – – – –
TFH Berlin
Textalternativen für alle Objekte Systemeinstellungen für Kontrastverstärkung unterstützen Systemenstellungen für Schriftart, Schriftgröße, Farbe, Größe erben
Timing –
Animationen abstellbar
–
Blinkfrequenz zwischen 2 und 55 Hz
© schmiedecke 13
HCI
41
TFH Berlin
Das war noch lange nicht alles – aber genug für diesen Einstieg
© schmiedecke 13
HCI
42