Wie der Zen-Geist ist auch der Accessibility-Geist ein Anfängergeist. Wir beginnen einfach immer wieder von vorne. Fehlern bei der Bildeinbindung begegnen wir bei jedem Accessibility Test. Sie stellen eine große Barriere für blinde Internet-NutzerInnen dar. Es ist also sinnvoll auch Ende 2013 noch über Alternativtexte zu reden.
Textalternativen für blinde Internet NutzerInnen
- Screen-Reader BenutzerInnen brauchen eine Textalternative für Bilder. Das alt-Attribut bei Bildern ist allgemeiner Webstandard dafür.
- Jedes Bild muss zumindestens mit einem leeren alt Attribut (alt=““) versehen sein. Ein Bild mit leerem alt-Attribut wird von Screen-Readern ignoriert.
- Manche aktuelle Screen-Reader (z.b. JAWS, NVDA) ignorieren auch Bilder mit gänzlich fehlendem alt-Attribut, manche Screen-Reader geben jedoch den Bildnamen aus, der verwirrend und unverständlich sein kann. Die einzig zuverlässige Lösung ist immer noch das leere alt-Attribut.
(Laut HTML5 Spezifikation – aktuell in der HTML5 Entwurfsfassung Dezember 2013 – ist es nur unter ganz bestimmten Voraussetzungen erlaubt, das alt-Attribut wegzulassen.) - Verlinkte Bilder benötigen unbedingt ein alt-Attribut mit Angabe des Linkziels (z.B. „Wienfluss – zur Startseite“ bei einem verlinkten Logo) . Das Ziel des Links soll zuerst dort stehen, ev. zusätzlich eine Information über das Bild.
- Bei verlinkten Bildern mit leerem oder fehlendem alt-Attribut ist der Output von Screen-Readern nicht einheitlich. JAWS liest einen Teil des Linkpfades oder ein vorhandenes Link title-Attribut, VoiceOver liest nur “Hyperlink”. Die sichere Lösung ist nach wie vor das Linkziel im alt-Attribut anzugeben.
- Screen-Reader kündigen beim Vorlesen Bilder, die ein befülltes alt-Attribut haben, an mit: “Grafik” oder “Bild”. Ein Bild mit Leerzeichen im alt-Attribut (alt=“ „) wird also auch als Bild angekündigt.
- Inhaltlich wichtige Bilder soll man mit einer Beschreibung im alt-Attribut versehen, so kurz und aussagekräftig wie möglich (1-5 Wörter, maximal 100 Zeichen).
Gute Beispiele für verschiedenste Anwendungsfälle finden sich in der aktuellen Entwurfsfassung der HTML5 Spezifikation. - Komplexe Grafiken, wie Diagramme benötigen eine zusätzliche Information in Textform, weil sich die Bedeutung nicht via alt-Text allein vermitteln lässt.
- Zusätzlicher erklärender Text zu einem Bild kann mit dem aria-describedby Attribut exakt dem Bild zugeordnet werden, wenn er in der Lesereihenfolge nicht direkt anschließt.
- Der alt-Text (alt=“…“) darf keine zusätzlichen Anführungszeichen „“ enthalten.
- Platzhalterbilder, Dekobilder und inhaltlich unwichtige Bilder soll man mit leerem alt-Attribut (alt=““) versehen, damit sie von Screen-Readern ignoriert werden können.
- Inhaltlich nicht wichtige Icons neben Textlinks und grafische Listenpunkte soll man besser im CSS als Hintergrundbilder definieren, ansonsten mit leerem alt-Attribut (alt=““). Dies gilt auch, wenn das Icon Teil vom Link ist.
- Wichtige Information soll nicht nur über Hintergrundbilder allein transportiert werden, z.B. CSS Sprites für Icons, die als Bedienelemente fungieren. Hier braucht es auch einen grafisch versteckten Textersatz.
Verstecken von Text mit display:none ist nicht screen-reader-tauglich. Für Screen-Reader kann die Textinformation gegeben werden, in dem man sie außerhalb des Viewports positioniert (z.B. left:-1000px;) oder mit “clip” beschneidet und damit grafisch versteckt. - Redundante Information soll man vermeiden (z.b. der gleiche Inhalt in alt- und title- Attribut und Bildunterschrift oder alt=“Bild:Beschreibung vom Bild“), weil doppelt gegebene Information störend und verwirrend ist.
- Das Auslesen des Bild title-Attributs ist meist deaktiviert in Screen-Readern, deshalb soll dort keine zentral wichtige Information stehen.
- Copyrightangaben: Das Verstecken von © Angaben im alt-Attribut ist eine missbräuchliche Verwendung. Es genügt nicht dem Copyright (man sieht es nicht) und nützt Screen-Reader BenutzerInnen wenig. Copyright im title-Attribut wird am Desktop bei mouse-over angezeigt, es ist aber nicht für Touch Screens geeignet. Copyright Angaben soll man deshalb am besten als immer sichtbare Bild Caption einfügen.
Optimierung von Bildern für Menschen mit Sehschwächen
- Bild title-Attribute werden bei mouse-over angezeigt. Beim Zoomen bleiben sie klein und stören mehr als sie nützen. Bei Verwendung von Zoom Software werden sie vergrößert, ragen aber häufig über den gerade sichtbaren Bildschirmausschnitt hinaus.
- Kleine Textgrafiken soll man vermeiden, weil sie beim Zoomen schlechter lesbar sind als richtiger Text.
- Text in Grafikform muss zumindestens groß und gut lesbar sein und muss ein alt-Attribut, das die idente Textinformation enthält, haben.
- Internet NutzerInnen mit starker Seheinschränkung verwenden auch die Sprachausgabe ihrer Zoomsoftware oder Screen-Reader. Es gelten also die gleichen Vorgaben wie für Screen-Reader.
- Bei Grafiken, in denen Farben Bedeutungsunterschiede transportieren, wie z.b. Balken- oder Tortendiagramme, ist auf ausreichende Kontraste zu achten. Wenn z.B. rot und grün mit ähnlichem Helligkeitswert verwendet werden, sieht ein User mit Rot-Grün Blindheit möglicherweise nur eine sehr ähnliche bräunliche Farbe für rot und grün. Was genau gesehen wird bei diversen Farbfehlsichtigkeiten, ist individuell unterschiedlich. Eine einfache Methode um bedeutungsunterscheidende Farben in Diagrammen zu testen, ist ein Schwarz-Weiß Ausdruck.
- Textgrafiken soll man besser nicht mit transparentem Hintergrund abspeichern, bzw. muss man kontrollieren, ob man sie im Kontrastmodus (z.B. auf schwarzem Hintergrund) noch lesen kann.
- Den Kontrastmodus testen kann man in Windows unter Systemsteuerung / Eingabehilfen / Anzeige. Im Opera auch sehr gut im Benutzermodus.
- Im Kontrastmodus von Windows werden Hintergrundbilder ausgeblendet. Wichtige Information soll deshalb nicht allein über in CSS definierte Hintergrundbilder (z.B. CSS Sprites) transportiert werden .
- Vorsicht ist auch bei Image Replacement Techniken geboten, d.h. bei Auslagerung von Bildern als Hintergrundbilder ins CSS kombiniert mit grafisch verstecktem Text, auch wenn dieser screenreadertauglich ist.Menschen mit Sehbehinderungen verwenden nicht immer Zoomsoftware, sondern verändern die Benutzereinstellungen im Browser. Sie verwenden den Kontrastmodus von Windows oder schalten Farbinformationen weg (z.b. unter Extras / Internetoptionen / Eingabehilfen). Damit schalten sie Hintergrundbilder aus und verlieren durch das aus dem Sichtfeldschieben eines versteckten Textes jede Information. Text kann für diese Zielgruppe unterhalb des Hintergrundbildes versteckt werden, in gleicher Farbe wie der Hintergrund (dies führt aber zu Validierungsfehlern und möglicherweise Suchmaschinenproblemen) oder außerhalb des zugehörigen Containers.Man kann aber auch argumentieren, dass User vorhandene Zoomsoftware verwenden sollen, wenn sie sie benötigen, und es nicht Aufgabe von Webentwicklern ist auf alle möglichen individuellen Benutzereinstellungen Rücksicht zu nehmen.
Optimierung für Menschen mit motorischen Einschränkungen
- Verlinkte Bilder / Icons sollen groß genug sein, um bei motorischen Problemen (gestörter Feinmotorik, Zittern) leichter klickbar zu sein. Man kann Icons mit größerem transparentem Bereich abspeichern oder im CSS ein padding definieren, damit die Klickfläche größer wird.
- Bild title-Attribute werden nur bei mouse-over, nicht bei Tastaturfokus angezeigt.
- Der Mauszeiger ändert sich nicht (von Pfeil zur Hand) bei Navigation mit der Tastatur. User, die keine Maus benutzen, benötigen also einen zusätzlichen Fokus Indikator bei verlinkten Bildern, z.B. eine sich ändernde Rahmenfarbe oder die browsereigene Darstellung mit strichliertem oder farbigem Rahmen. Die CSS Definition outline:0 bei Links schaltet diese Markierung aus.
Gute Checkliste, aber ich hätte noch zwei Anmerkungen: Die meisten Screenreader lesen das Alt-Attribut und nur, wenn es fehlt den Titel. Deswegen können Alt und Titel gleich sein, es sei denn, Sehbehinderte brauchen andere Infos zum Bild als Blinde. Text in Grafiken würde ich bis auf wenige Ausnahmen – z.B. Logos – generell vermeiden.