Archiv für die Kategorie „Zugänglichkeit“

Die neue Browserauswahlfunktion für Windows berücksichtigt keine Aspekte der Barrierefreiheit!

Dienstag, 23. Februar 2010

Nachdem Microsoft von der Europäischen Union verurteilt wurde, den Anwendern eine Auswahl an Browsern zur Verfügung zu stellen, wird diese Funktion nun in diesen Tagen allen Anwendern von Windows Vista und Windows 7 per Update zur Verfügung gestellt werden. Diese neue Browserauswahl kann sich jedoch für Anwender assistiver Technologien zu einer bösen Falle entpuppen!

Die Seite stellt nämlich keinerlei Informationen zur Verfügung, welche Browser für Blinde und andere Gruppen von Behinderten überhaupt geeignet sind. So wird aus der Auswahl Internet Explorer, Firefox, Safari, Opera und Chrome nämlich eine Wahl zwischen genau ZWEI Browsern, Internet Explorer und Firefox, wenn es unter Windows um die Belange behinderter Menschen geht. Es gibt nicht mal versteckten Text, der nur für Anwender von Bildschirmleseprogrammen hörbar wäre, der auf diesen Umstand hinweisen würde.

Wenn jetzt also ein Anwender den einzigen Browser mit Turbo-Technologie, den innovativsten Browser der Welt oder den neuen Browser für alle installiert und diesen als Standardbrowser festlegt, wird er web-technisch im Dunkeln sitzen. Screen Reader und Vergrößerungsprogramme kommen mit diesen Browsern nicht zurecht, weil diese die erforderlichen Schnittstellen nicht unterstützen. Um diese Entscheidung wieder rückgängig zu machen, muss ein Browserfenster aufgerufen werden. Ohne sehende Hilfe ist dann in der Regel nichts mehr zu machen.

Ich habe mit dem Marketing-Team bei Mozilla zusammen eine Eingabe erarbeitet, damit dieser Punkt berücksichtigt wird. Andere Hersteller und die EU waren da offensichtlich anderer Meinung und haben der Nutzerschaft, die auf Barrierefreiheit angewiesen ist, somit einen Bärendienst erwiesen. Vielen Dank dafür! :(

Und hier die Bitte an alle Leser, diese Info an alle Betroffenen im Freundes- und Bekanntenkreis weiterzugeben! Diese verlinkte Seite wird in den nächsten Tagen auf vielen Rechnern aufgerufen werden, und es ist wichtig, sich hier nicht durch fehlende Hinweise selbst ein Bein zu stellen! Vielen Dank schon im Voraus für eure Mithilfe!

Die deutsche Bank hat relauncht — oh Gott!

Freitag, 5. Februar 2010

Die Deutsche Bank hat ihre Webseite relauncht. Hier sind meine Beobachtungen von Anschauen nur der Hauptseite. Da ich kein Kunde bei diesem Kreditinstitut bin, kann ich Dinge wie das Online-Banking nicht testen. Aber allein der Eindruck der Startseite spricht Bände.

“Unsere vielen Sprungmarken gib uns heute”…Schon fast rekordverdächtig ist die Flut an Sprungmarken, die einen gleich am Anfang der Seite begrüßt. Sechs Stück sind es, und sie sind ausschließlich englischsprachig. Sie fangen alle mit “Jump to…” an, und sie haben so aussagekräftige Namen wie “Meta Navigation“.

Es folgt: “Index” link, “Index Grafik”, “Jahres-Pressekonferent am 4. Februar 2010 Grafik”. OK.

Es folgt eine Liste mit “Kontakt”, “Site Map” usw., Aha, das ist dann wohl die “Meta Navigation”.

“/de/img/tran_pxl.gif Schalter”. Aaaah ja.

“Eingabefeld Volltextsuche” OK.

Es folgen dann noch diverse Listen mit verschiedenen Möglichkeiten sich über Privatkunden, Private Banking, Geschäftskunden, Jobs o. ä. zu informieren.

Es gibt einen Impressumsbereich. Es gibt einen Link zu “Accessibility“. Es gibt jede Menge Kurztasten.

Und es gibt sogar einen Hauptteil, wie die eine Sprungmarke am Seitenanfang vermuten lässt. Hineingeklatscht zwischen zwei navigationslisten eine Abfolge von Links, nicht strukturiert, von Pressemitteilungen. OK, kann man so machen…

Ganz am Ende findet sich sogar noch die Möglichkeit einer Kontraständerung. Da ich das nicht überprüfen kann, hab ich’s mal nicht ausprobiert.

Es gibt auf dieser Startseite keinen einzigen(!) heading-Tag.

Ich habe mich dann mal getraut und den Link “Privatkunden” angeklickt.

Es gibt Überschriften! Sogar mehrere, und Unterüberschriften mit niedrigerer Ordnungsebene als die darüber liegenden Abschnitte! Und alle so: Yeah! :)

Und es gibt so etwas hier in verschiedener Form: “Link grafik pk-kredit_finanzierung-privatkredit link=pk-index-privatkredit-pbc1400b-pbcde-to-pk-kredit_finanzierung-privatkredit&WT.mc_id=1400&mc_wm=b&mc_wp=90″. Vielen Dank für das Gespräch!

Auf dieser Seite gibt es dann auch tatsächlich mehrere Formularfelder mit sogar richtig beschrifteten Schaltern.

Fazit: Dieser Relaunch ist eine ausgesprochene Peinlichkeit! Dass es im Jahr 2010 in Deutschland noch möglich ist, einen solchen Relaunch mit so offensichtlichen Fehlern in der Barrierefreiheit hinzulegen, ist unter aller Würde und durch NICHTS zu rechtfertigen! Und hier sind eventuelle Probleme für Sehbehinderte noch gar nicht berücksichtigt, und den Quellcode der Seite habe ich mir auch nur flüchtig angeschaut. Es wird zumindest nicht mit Layouttabellen gearbeitet.

Die Deutsche Bank hat im vergangenen Jahr einen Gewinn vor Steuern von 5 milliarden Euro erzielt. Einige Tausend Euro weniger Gewinn hätten dem Webseiten-Relaunch mit Sicherheit nicht geschadet, indem nämlich eine Agentur damit beauftragt worden wäre, die sich damit auskennt.

Setzen: 6!

Warum sehen Seiten im Firefox anders aus als im IE?

Freitag, 22. Januar 2010

Nein, dies ist kein weiterer Artikel, der einem Webdesigner zu erklären versucht, warum es so umständlich ist, für den Internet Explorer zu programmieren. ;) In diesem Artikel geht es vielmehr darum, warum manche Webseiten bzw. Teile davon von Bildschirmleseprogrammen für Blinde unterschiedlich dargestellt werden, abhängig davon, ob der Anwender die Seite im Internet Explorer oder dem Firefox aufruft.

Anstoß für den Artikel gab diese Bemerkung von Heiko Kunert aus Hamburg, in der er bemerkte, dass es immer noch Seiten gibt, die im Firefox mit einem Bildschirmleseprogramm anders aussehen als im IE. Auf meine Nachfrage hin führte Heiko aus, dass er versuchte, den Play-Schalter beim Anschauen des Hamburg-Journals in der NDR Mediathek zu finden und dass JAWS 8.0 diesen zwar mit dem IE, aber nicht mit dem Firefox finden würde.

Zur Erklärung dieses Phänomens kommen in diesem Fall mehrere Faktoren zusammen:

Zum einen ist da natürlich der verwendete Browser. Im Idealfall wird HTML-Code in beiden Browsern gleich interpretiert, egal ob es jetzt um die visuelle Anzeige für Sehende oder die Darstellung durch das Bildschirmleseprogramm für Blinde geht. Jeder, der schon mal mit beidden Browsern unterwegs war, dass es selbst in JAWS 10 und 11, oder auch bei Verwendung des NVDA, immer mal wieder den einen oder anderen subtilen Unterschied gibt.

Zum anderen ist da in diesem Fall der Faktor Flash. Die NDR Mediathek verwendet eine Adobe Flash-Anwendung zur Anzeige des Videomaterials und auch zur Steuerung der Wiedergabe. Der von Heiko gesuchte Play-Schalter befindet sich also nicht im eigentlichen HTML, sondern in dieser Flash-Anwendung. Hier gibt es gerade mit älteren JAWS-Versionen teils gravierende Unterschiede in der Handhabung zwischen dem Internet Explorer und dem Firefox. Der Grund ist, dass das Flash-Plugin für den Firefox erst im Jahr 2008 von Adobe zugänglich gemacht wurde, das Plugin für den IE aber schon seit 2002 Zugänglichkeit unterstützt. Da liegen also mal lockere 6 Jahre zwischen.

Und damit kommen wir zum dritten Faktor, der verwendeten Version eines Screen Readers (unabhängig vom hersteller). Die hier verwendete Version von JAWS war die Version 8.0, die in den USA zuerst Ende 2006 veröffentlicht wurde. Die Veröffentlichung der deutschen Version fand irgendwann 2007 statt. Also wurde diese Version von JAWS ein bis zwei Jahre vor einer zugänglichen Version des Flash-Plugins für den Firefox veröffentlicht und ist somit gar nicht darauf eingestellt, dass es im Firefox überhaupt ein zugängliches Flash-Plugin geben könnte. Berechtigter Kritikpunkt: man hätte auch vorausschauend in JAWS die Möglichkeit bereits vorsehen können. Jeder, der aber schon mal mit Microsoft Active Accessibility gearbeitet hat, weiß ein Lied davon zu singen, dass auch das strikte Folgen der Dokumentation nicht immer zum gewünschten Ergebnis führt, ohne noch weitere kleine Veränderungen vornehmen zu müssen, damit es tatsächlich für den Anwender rund läuft. Dasselbe Rechenspiel gilt natürlich auch für Window-Eyes, die Flash ebenfalls von Anfang an im IE unterstützten (ich glaube sie waren sogar die ersten), mit dem Flash-Plugin in Firefox aber auch erst richtig umgehen lernen mussten, als es dann endlich mal in einer zugänglichen Version erschien. Und solche Verbesserungen werden von den kommerziellen Herstellern von Bildschirmleseprogrammen nur in den seltendsten Fällen auf ältere Versionen zurückportiert.

Wer den gerade erschienenen Firefox 3.6 einsetzt, wird übrigens schnell feststellen können, ob er eine aktuelle und damit zugängliche Version des Flash-Plugins installiert hat. Firefox weist jetzt auf veraltete Versionen des Flash-Plugins hin und fordert zur Aktualisierung auf. Auch wegen bekannter Sicherheitsprobleme ist so ein Schritt unbedingt zu empfehlen!

Beim Testen habe ich das beste Ergebnis übrigens mit der neuartigen Herangehensweise des NVDA an das Interagieren mit Flash-Inhalten erzielt. NVDA sieht nicht nur sämtliche Schalter sondern liest auch von allen Schaltern die Beschriftungen vor, erkennt die bereits abgelaufene und noch verbleibende Zeit und ermöglicht ein vollständiges Bedienen des NDR-Mediathek-Players.

Es ist also leider tatsächlich so, dass ein Bildschirmleseprogramm Inhalte von Webseiten unterschiedlich darstellen kann abhängig davon, mit welchem Browser die Seite aufgerufen wird. Seiteninhalte sind in diesem Fall aber eben nicht nur HTML-Inhalte, sondern auch externe Quellen wie Flash. Und dies erhöht die Variabilität und Fehleranfälligkeit der Anzeige.

Ich hoffe, mit diesem Artikel ein wenig Licht in das Dunkel des teilweise doch verwirrenden und komplexen Zusammenspiels der verschiedenen Komponenten gebracht zu haben! Fragen und Kommentare sind natürlich immer herzlich willkommen!

Anwendungstipp: Geburtstagsverwaltung und Online-Banking-Anwendungen fürs iPhone

Mittwoch, 13. Januar 2010

Gestern bin ich auf zwei Anwendungen gestoßen, die ich sehr nützlich finde und die fast komplett mit VoiceOver bedienbar sind.

Die erste ist eine Geburts- und Feiertagsverwaltung namens Occasions. Die Anwendung erstellt aus den in den Kontakten hinterlegten Geburtstagen eine Liste und kann den Benutzer an die Geburtstage erinnern. Nett: Es wird das Alter gleich mit angezeigt. Das Programm kann auch Geburtstage von FaceBook abfragen und ebenfalls in die Liste aufnehmen. Eigene Ereignisse und auch Geburtstage für Kontakte können aus der Anwendung heraus nachgetragen werden.

Einziger Haken ist, man muss das Theme von “Wasser” auf “Standard” umstellen. Erst dann bekommen die meisten Schalter eine vernünftige Beschriftung und das Arbeiten mit der Anwendung läuft flüssig. Lobend erwähnen möchte ich in diesem Zusammenhang den Support des Herstellers Hand Carved Code. Ich hatte Verbesserungsvorschläge inklusive dem Link zum iPhone Accessibility Programming Guide per E-Mail an den Support geschickt. Innerhalb von 10 Minuten bekam ich eine Antwort mit dem Tipp, das Theme umzustellen und mit der Ankündigung, Verbesserungen für VoiceOver mit in die Liste von Kundenwünscen aufzunehmen. Hierfür gab’s von mir dann eine 4-Sterne-Rezension im App Store.

Die zweite Anwendung wurde von @GermanStudent empfohlen: iOutBank Pro ist eine Online-Banking-Anwendung, die diverse Banken unterstützt. Auf OutBank.de kann man anhand der Bankleitzahl überprüfen, ob die eigene Bank unterstützt wird. Die Anwendung kostet nur heute (am 13.01.2010) 0,79 € anstatt 6,99€, weil die Anwendung heute ihren ersten Geburtstag feiert.

Die Anmeldung meiner Bankdaten klappte problemlos. Das Ansehen der Kontoumsätze war ebenfalls problemlos möglich, und das Überweisungsformular sieht auch so aus, dass VoiceOver damit prima zurechtkommt. Es fehlen einige Schalterbeschriftungen, und die Anwendung hat die Eigenart, dass man sie nicht gut mit der Geste “Nach links Streichen” bzw. “Nach rechts Streichen” untersuchen kann, sondern den Bildschirm mit dem Finger systematisch absuchen muss, um die Elemente zu erreichen. Für diese zwei Proleme gab es in der ansonsten uneingeschränkt positiven Rezension 1 Stern Abzug von mir, die Bedienung ist aber trotzdem sehr gut und intuitiv gelöst.

Diese zwei Anwendungen haben mein iPhone-Leben definitiv wieder bereichert, und ich freue mich darüber, dass sie von Haus aus schon so weit barrierefrei sind! Ich hoffe natürlich, dass die Entwickler der Anwendungen die verbleibenden Probleme schnell beheben, damit es dann auch 5 Sterne von mir geben kann. ;)

Thunderbird 3 erscheint bald, und es ist zugänglich!

Donnerstag, 19. November 2009

Die Veröffentlichung von Thunderbird 3 steht kurz bevor. Gegenüber der bisherigen Version Thunderbird 2 bietet sie nicht nur im allgemeinen eine Fülle neuer großartiger Funktionen, sondern auch eine ehreblich verbesserte Zugänglichkeit für Menschen mit Behinderungen. Dieses Release darf also auch in diesem Punkt gern groß gefeiert werden! :)

Thunderbird 3 basiert auf der Plattform Gecko 1.9.1. Dies ist dieselbe Version, auf der auch Firefox 3.5 basiert. Somit lernt Thunderbird automatisch alle neuen Funktionen, die auch Firefox 3.0 und 3.5 plattformseitig bekommen haben. Die für Anwender wichtigsten möchte ich hier einmal hervorheben:

Unterstützung für neue APIs unter Windows

Thunderbird 3 unterstützt IAccessible2. IAccessible2 ist ein Standard, der Microsoft Active Accessibility (MSAA) ganz erheblich erweitert. Mit diesen Schnittstellen können Bildschirmleseprogramme für Blinde z. B. beim Verfassen einer HTML-Mail eindeutig feststellen, ob es sich beim aktuellen Text um eine Überschrift, einen Zitatblock (z. B. beim Zitieren einer Mail) usw. handelt. Es müssen keine veralteten Methoden wie das Abgreifen von Informationen aus den Bildschirmtreibern verwendet werden, sondern durch definierte Schnittstellen ist eine zweifelsfreie Identifizierung jedes Elements möglich. Auch Formatierungsfunktionen wie Schriftart, Schriftgrad und Stile können eindeutig erfasst werden.

Weiterhin wird die Rechtschreibung bei der Eingabe unterstützt. Ist sie aktiviert, können moderne Versionen von Screen Readern Rechtschreibfehler beim nachlesen erkennen und diese können korrigiert werden, ohne dass extra das Dialogfeld zur Rechtschreibprüfung geöffnet werden muss.

NVDA 2009.1, Window-Eyes 7.1x und JAWS 10 und neuer nutzen diese neuen Möglichkeiten bereits aus und bieten ihren Anwendern dadurch eine deutlich verbesserte Zugänglicchkeit gegenüber dem, was mit Thunderbird 2 möglich oder auch nicht möglich war.

Zugänglichkeit unter dem GNOME Desktop

Thunderbird 3 ist auch unter dem GNOME Desktop unter Linux nutzbar. Anwender des Bildschirmleseprogrammes Orca können somit die Benutzeroberfläche weitestgehend nutzen. Anwender des GNOME On-Screen Keyboard (GOK) können über die ATK/AT-SPI-Schnittstellen Thunderbird 3 ebenfalls bedienen. Somit ist Thunderbird auch unter Linux jetzt mehreren Gruppen von Menschen mit Behinderungen zugänglich.

Mit Tastatur erreichbare und richtig beschriftete Kopfzeilen

Beim Lesen von Mails sind jetzt fast alle Kopfzeilenelemente einer Nachricht mit tab erreichbar. Außerdem werden die Elemente richtig an Bildschirmleseprogramme für Blinde kommuniziert. Auch das “Sternchen”, mit dem eine Adresse schnell ins Adressbuch aufgenommen oder geändert werden kann, ist nutzbar.

Dies ist eine große Verbesserung gegenüber Thunderbird 2, die allen Tastaturbenutzern helfen wird.

Eine bessere Unterstützung beim Verfassen von Mails

Beim Verfassen von Mails gibt es jetzt eine verbesserte Tastaturnavigation, und die Felder werden richtig an Bildschirmleseprogramme kommuniziert. Das Ausfüllen und die Auswahl von Kopfzeilentypen sorgt jetzt nicht mehr dafür, dass Screen Reader denken, der Fokus sei im Nirgendwo gelandet. Auch die Nutzung der Adressbuch-Sidebar ist jetzt möglich.

Allgemeine Verbesserungen der Benutzeroberfläche

Die Benutzeroberfläche wurde dahingehend verbessert, dass Textfeldern, Gruppen von Auswahlschaltern o. ä. jetzt überall vernünftige Beschriftungen zugewiesen wurden. Das Navigieren in Dialogen wie Extras/Einstellungen oder Extras/Konteneinstellungen sorgt dadurch für ein vernünftiges Sprechen der Elemente. Eine dieser Verbesserungen war übrigens mein allererster Patch, als ich anfing, zum Mozilla-Projekt beizutragen.

Neue Funktionen wurden gleich barrierearm gestaltet

Neue Funktionen wie die ganz neue Suchfunktion wurden von vornherein barrierearm gestaltet. In der Suchfunktion wurde z. B. sehr viel WAI-ARIA verwendet, um die Benutzeroberfläche sowohl optisch ansprechend gestalten als auch für Bildschirmleser zugänglich machen zu können.

Ein bekanntes Problem in dieser Suchfunktion ist, dass die grafische Darstellung der zeitlichen Aufteilung von Suchergebnissen nicht für Screen Reader zugänglich ist. Diese basiert auf SVG, welches bisher nicht zugänglich ist.

Ein Aufruf an Entwickler von Thunderbird-Erweiterungen

Durch die oben beschriebenen Verbesserungen ist es jetzt noch wichtiger als bisher, dass auch Erweiterungen möglichst barrierefrei gestaltet werden. Dies gilt in gleichem Maße für Entwickler von Erweiterungen von Firefox. Wenn diese einfachen Regeln (englisch) beachtet werden, wird auch in Thunderbird bereits eine weitgehende Barrierearmut hergestellt sein. Außerdem erlaubt der DOM Inspector auch in Thunderbird das Anschauen des Baums der accessible objects, so dass sofort gesehen z. B. werden kann, ob die Zuordnung eines Labels zu einem Textfeld geklappt hat. Also: Keine falsche Scheu beim Stellen von Fragen! Das Accessibility Team von Mozilla ist auf dem Channel #accessibility auf irc.mozilla.org zu finden. “Amtssprache” ist dort englisch, ich spreche aber natürlich auch deutsch. :)

Ein paar bekannte Probleme

Ein paar Probleme gibt es leider. Wir versuchen zwar immer, perfekt zu sein, aber ganz gelingt auch uns das nicht immer. :) Einige bekannte Probleme werden sich lösen, sobald eine Nachfolgeversion von Thunderbird 3 auf der Version 1.9.2 oder höher von Gecko aufsetzt und somit deren neue Funktionen bekommt. Es gibt also einen Silberstreif am Horizont für diese Probleme!

  • In der Nachrichtenliste wird bei einer nach Thema gruppierten Ansicht nach wie vor nicht angesagt, ob ein Thema auf- oder zugeklappt ist. Dies wird sich ändern, wenn Thunderbird die neue Version von Gecko nutzt.
  • Selbiges gilt für das Abonnieren von IMAP-Ordnern oder newsgroups. Hier wird bisher nicht angesagt, ob ein Ordner aktiviert ist oder nicht.
  • In der Ordnerliste ist leider immer noch keine Navigation nach Anfangsbuchstaben möglich. Ich hoffe, dass dieses oft gewünschte Feature bald implementiert werden kann!
  • Die Spaltenauswahl in der Nachrichtenliste ist bisher nicht mit der Tastatur erreichbar. Sie kann mit der Mausemulation des Lieblingsbildschirmlesers erreicht werden.

Danksagungen

Ein großes Dankeschön möchte ich all denen aussprechen, die mich im Verlauf der letzten zwei jahre bereits angeschrieben und Probleme bei der Benutzung von Thunderbird gemeldet haben. Euer Feedback hat sehr geholfen, die wichtigsten Bereiche des Programmes zu verbessern. Macht weiter so!

Auch danken möchte ich den Mitarbeitern von Mozilla Messaging und den freiwilligen Kontributoren, die durch Implementierungen, Reviews, Vorschlägen und Rat geholfen haben, die Benutzeroberfläche von Thunderbird zugänglicher zu machen. Das Sortieren der Vorschläge und die Prioritisierung der zu implementierenden Korrekturen waren eine großartige Gemeinschaftsanstrengung! Ich hoffe, dass möglichst viele Anwender Thunderbird 3 herunterladen und ausprobieren werden, wenn es erscheint, und so ihre Unterstützung für das Projekt zu signalisieren! Ich selbst bin vor über zwei jahren auf Thunderbird umgestiegen und habe dies nicht bereut.

Weiter so!

  • Neue Funktionen zur Barrierefreiheit in Firefox 3.6

    Dienstag, 17. November 2009

    Die zweite Beta von Firefox 3.6 ist gerade erschienen, so dass es ein guter Zeitpunkt ist, mal auf die Funktionen zu schauen, die Anwender von assistiven Technologien von der neuen Version des Browsers erwarten können.

    Unterstützung für die Spracheingabefunktion von Windows Vista und Windows 7

    Windows Vista und Windows 7 haben eine eingebaute Spracheingabefunktion, mit der motorisch eingeschränkte Benutzer oder solche mit einer Lese-Rechtschreib-Schwäche Texte in verschiedene Programme diktieren können. Ab der Version 3.6 gehört auch Firefox zu diesen Programmen. Dies wird erreicht, indem das Microsoft Text Services Framework (TSF) unterstützt wird.

    Da es sich hierbei um sehr neue Technologie handelt und es eventuell ungewollte Nebeneffekte geben kann, die erst in den nächsten Updates beseitigt werden können, ist die Unterstützung für TSF standardmäßig ausgeschaltet. Durch folgende Schritte kann sie eingeschaltet werden:

    1. Gib in die Adresszeile von Firefox die Adresse about:config ein.
    2. Bestätige den Warnhinweis mit einem Klick auf “Ich werde vorsichtig sein, versprochen!”.
    3. Gib in das Textfeld für die Filterung die Buchstaben tsf ein.
    4. Wähle in der Liste die Einstellung intl.enable_tsf_support.
    5. Führe einen Rechtsklick auf diesem Eintrag aus und wähle “umschalten” aus dem Popup-Menü.
    6. Starte Firefox neu.

    Von nun an kann in Eingabefelder wie z. B. das Eingabefeld für Blogkommentare diktiert werden.

    Dies erweitert die von Firefox und der Gecko-Plattform nativ unterstützten Technologien um eine weitere und schließt somit eine weitere Gruppe von Benutzern mit einer Behinderung ein.

    Die neue Taskleistenvorschau in Windows 7 ist zugänglich

    In Windows 7 kann die Taskleiste bei mehreren geöffneten Fenstern oder Tabs eine Vorschau der geöffneten Tabs anzeigen, und man kann direkt in dieser Vorschau wählen, mit welchem Fenster oder Tab das Programm in den Vordergrund geholt werden soll. Diese Funktion wird ab Version 3.6 auch von Firefox unterstützt und ist mit Screen Readern wie dem NVDA auch zugänglich. Bietet Firefox mehrere Tabs zur Vorschau an, sagt NVDA beim navigieren in der Taskleiste für das Symbol des Firefox “Untermenü” an. Jetzt kann mit den Pfeiltasten rauf und runter der gewünschte Tab ausgewählt und mit Eingabe oder Leertaste Firefox mit diesem Tab im Vordergrund der Fokus übergeben werden.

    Bessere Behandlung des Eingabefokus

    Dies betrifft Maus- und Tastaturbenutzer gleichermaßen, wird hier aber extra erwähnt, weil die Verbesserungen auch Benutzer von Bildschirmleseprogrammen betreffen. So gibt es jetzt ein verbessertes Navigieren auf Seiten, wo das Attribut tabindex für einige Elemente definiert ist und für andere nicht. Weiterhin wird beim Speichern von ausführbaren Dateien das Dialogfeld, das erscheint, jetzt automatisch angesagt.

    Unterstützung für die Programmierschnittstelle IAccessibleTable2

    Diese Erweiterung des Standards IAccessible2 ermöglicht es assistiven Technologien, exaktere Informationen über Tabellenstrukturen zu erhalten und dem Anwender mitzuteilen. Hierbei ist es unerheblich, ob es sich um eine Datentabelle im Web, eine mehrspaltige Strukturansicht wie die Lesezeichenverwaltung, ein ARIA tree grid oder ähnliches handelt. Die Informationen werden von Gecko gesammelt und über diese neue Schnittstelle transparent und konsistent zur Verfügung gestellt. Hersteller von assistiven Technologien können Firefox 3.6 somit zur Implementierung dieser neuen nSchnittstelle verwenden und ihren Anwender somit eine verbesserte Wiedergabe verschiedendster Tabellenstrukturen bieten.

    Verbesserte Regeln zum Errechnen des accessible name

    Der Name eines accessible Objekts, der häufig dem Bildschirmtext entspricht, ist der Hauptbestandteil dessen, was Anwendern von Bildschirmleseprogrammen beim Navigieren mit Tab oder im virtuellen Puffer angezeigt wird. Im Einklang mit dem User Agent Implementor’s Guide des WAI-ARIA-Standards haben wir das Errechnen dieses Namens verbessert, so dass der Programmcode jetzt besser wartbar, vorhersagbarer und somit robuster auch für zukünftige Implementierungen neuer Elemente z. B. aus dem HTML5-Standard geworden ist.

    Unterstützung für sich ändernde Objektattribute

    Für eine bessere Unterstützung von drag and drop in WAI-ARIA, aber auch im Hinblick auf HTML5, haben wir das Ereignis IAccessible2 Object Attribute Changed implementiert. Dieses wird immer dann ausgelöst, wenn der Wert eines Attributes eines HTML-Elements, der durch ein Objektattribut des entsprechenden accessibles veröffentlicht wurde, sich ändert. Diese Änderung passiert üblicherweise durch JavaScript. Bildschirmleseprogramme können hierauf reagieren und ihren Anwendern diese Änderung mitteilen und/oder ihren virtuellen Puffer aktualisieren.

    …und wieder jede Menge Bugfixes

    Und natürlich haben wir auch wieder an der Stabilität und Zuverlässigkeit des Firefox gearbeitet! Wenn bestehende Funktionen nicht so funktionierten wie gewünscht und dies uns von Anwendern und Herstellern assistiver Technologien gemeldet wurde, haben wir uns um schnelle Verbesserungen gekümmert. Weiterhin sind wir auch am Ball geblieben, was späte Änderungen in der Spezifizierung von WAI-ARIA anging und haben unsere Implementierungen entsprechend angepasst.

    Das gesamte Accessibility Team bei Mozilla hofft, dass euch der Firefox 3.6 genauso gefällt und soviel Freude bereitet wie es uns Spaß gemacht hat, an ihm zu arbeiten und ihn zu testen!

    HTML-Elemente in einem Dokument richtig zu plazieren ist wichtig!

    Mittwoch, 7. Oktober 2009

    Ich bekam heute eine Frage zur Barrierefreiheit bestimmter dynamischer Inhalte gestellt, die mich zu diesem Blogeintrag veranlasst hat.

    Beim Anzeigen und Verstecken dynamischer Inhalte gibt es zwei gängige Prinzipien, die sich herauskristallisiert haben: Der eine Ansatz ist, den Inhalt direkt dort in das Dokument einzufügen, wo sich der Auslöser für die Veränderung befindet. Ein Beispiel hierfür ist die englischsprachige Careers-Seite von Mozilla. Das Klicken auf einen der Links “Meet Mozilla”, “The Team”, “Life at Mozilla” bewirkt, dass der Text zu dem jeweiligen Thema den vorherigen Text ersetzt.

    Ein weiterer Ansatz ist, den neuen Inhalt einfach ans Ende des document-Elements anzuhängen und dann mit Hilfe von CSS einen Overlay-Effekt oder eine Positionierung, die optisch korrekt ist, zu erreichen. Ein Beispiel hierfür ist die Demo der jQuery Thickbox. Das Klicken auf eine der Demos wie Image, Gallery oder Keep In Mind bewirkt, dass das Bild oder der Text ans Ende des Dokuments, wahrscheinlich durch eine document.addXxx-Methode, angehängt wird.

    Optisch unterscheiden sich diese Beispiele vielleicht ein bisschen im Styling, aber das Prinzip ist dasselbe: Du klickst auf etwas, und ein neues Bild oder Text erscheinen und ersetzen ggf. anderen Inhalt. Die Seite wird hierbei jedoch nicht neu geladen.

    Für den Anwender eines Bildschirmleseprogrammes macht die Wahl einer der beiden Methoden jedoch einen gravierenden Unterschied. Damit ein Screen Reader einem blinden Anwender eine Webseite vorlesen kann, muss ein Durchlaufen einer Hierarchie von zugänglichen Objekten oder des Dokumentenobjektmodells, oder in manchen Fällen sogar eine Analyse des HTML-Quellcodes selbst, stattfinden. CSS wird dann herangezogen, um festzustellen, ob bestimmte Elemente sichtbar sind, als Block o. ä. formatiert werden, und welche Textformatierungen vorliegen. Positionierungsinformationen stehen jedoch immer der Reihenfolge im tatsächlichen HTML-Quellcode nach, egal ob dieser schon vorcodiert ist oder durch JavaScript erzeugt wird.

    Um es noch anders auszudrücken: Sogar ein dreispaltiges Seitenlayout erscheint dem Anwender eines Screen Readers als einspaltiges Dokument von oben nach unten. Die Spalten werden aufgelöst und der Reihenfolge entsprechend formatiert.

    In der Konsequenz bedeutet dies, dass im zweiten Beispiel der neue Inhalt grundsätzlich am Ende erscheint. Unter Windows ist dies das Ende des virtuellen Puffers. Unter Linux und Mac ist dies das letzte, was in einem HTML-Dokument angezeigt wird. Man muss also zum Ende des Dokuments springen bzw. mit Orca unter Linux zum letzten Element navigieren oder unter Mac OS mit VoiceOver zum letzten Element des HTML-Inhalts, mit dem man gerade interagiert, springen. Dies gilt für alle Plattformen und Browser (Firefox, IE, Safari).

    Um nun also den Inhalt der Thickbox lesen zu können, löst man erst die Demo aus, navigiert mit seinem Screen Reader dann ganz ans Ende, guckt, was es dort zu sehen gibt und kehrt dann zum Anfang der Seite zurück, um mit Navigationsmethoden wie dem Springen von Überschrift zu Überschrift wieder dorthin zu gelangen, wo man ursprünglich angefangen hat mit dem Auslösen der Demo. Dies ist weder besonders effizient noch besonders intuitiv.

    Dasselbe kann man auf Facebook beobachten: Wenn man einen Freund hinzufügt, erscheint die Abfrage, ob man die Anfrage wirklich versenden möchte, für den Screen-Reader-Anwender ganz am Ende der Seite. Optisch erscheint die Abfrage jedoch in der Nähe des “Als Freund hinzufügen”-Schalters.

    Im Mozilla-Beispiel jedoch wird der neue Inhalt gleich unterhalb der Liste der Auswahlmöglichkeiten angezeigt, also in der Umgebung, in der der Anwender eh gerade arbeitet. Es ist so also problemlos möglich, von “Meet Mozilla” zu “Team” usw. zu gelangen. Die Navigation ist intuitiv und effizient.

    Wenn ihr also dynamische Inhalte erzeugt, ein Accordeon-Widget programmiert usw., helft Anwendern von Screen Readern bitte bitte bitte, indem ihr ein Element wählt, das sich in der Umgebung der Action befindet und fügt die neuen Inhalte dort ein, anstatt die Inhalte einfach ans Ende des Dokuments anzuhängen oder sie von dort zu entfernen. Ihr werdet Screen-Reader-Anwendern ein sehr viel effizienteres Navigieren auf euren Seiten ermöglichen, indem ihr nicht von ihnen verlangt, zwischen Teilen der Seite hin- und herzunavigieren, die weit voneinander entfernt liegen.

    Neue Wege der Zugänglichkeit zu Flash- und Java-Inhalten auf Webseiten

    Montag, 5. Oktober 2009

    In seinem neuesten Entwicklersnapshot hat das NVDA-Team die Zugänglichkeit zu Flash- und Java-Anwendungen, die im Browser laufen, verbessert. Hierbei gehen Mick und Jamie neue Wege in der Art der Benutzung dieser Rich Internet Applications.

    Bisher werden Flash-Inhalte von kommerziellen Screen Readern innerhalb des virtuellen Puffers, also als Teil der Webseite, dem Benutzer zur Verfügung gestellt. Java-Applets werden gar nicht im virtuellen Puffer angezeigt, sie muss man durch Tabben bei ausgeschaltetem virtuellen Cursor suchen.

    Das Einschließen von Flash-Inhalten im virtuellen Puffer birgt das Problem, dass diese Inhalte, so sie denn überhaupt zugänglich sind, so dynamisch sind, dass das Lesen oft schwierig ist, da sich diese Inhalte regelmäßig verändern oder aktualisieren. Auch andere Teile der Webseite können davon betroffen sein, und je nach Screen Reader ist dann ein ständiges Wechseln der Inhalte unterm virtuellen Cursor die Folge, oder die Inhalte werden gar nicht aktualisiert und sind dementsprechend veraltet.

    Nicht umsonst finden 71% der Teilnehmer der ersten Screen-Reader-Umfrage von WebAIM Flash schwer oder sehr schwer zu benutzen. Dies ist mit Abstand der höchste Wert aller in dieser Kategorie vertretenen Technologien.

    NVDA verfolgt hier einen anderen Ansatz. Befindet sich Flash oder ein Java-Applet auf einer Seite, wird im virtuellen Puffer lediglich ein eingebettetes Objekt angezeigt. Um mit diesem Objekt zu arbeiten, macht man folgendes:

    1. Man navigiert mit dem virtuellen Cursor auf das eingebettete Objekt. NVDA sagt so etwas wie “Eingebettetes Objekt anklickbar”.
    2. Nun drückt man Eingabe. NVDA wiederholt den Namen des Objekts, um anzuzeigen, dass sich der Fokus jetzt hier befindet.
    3. Als nächstes drückt man Tab. Wichtig, wirklich Tab drücken und nicht etwa die Pfeiltasten, da sonst der Fokus wieder aus dem Objekt herausfällt und auf das nächste Objekt wandert, das der virtuelle Cursor unter sich findet. Erst durch Tab wird tatsächlich in das Objekt hineingezoomt und die Interaktion mit den Elementen des Flash- oder Java-Objekts gestartet.
    4. Man kann jetzt Schalter drücken oder andere Dinge in diesem Flash-Element tun, welche es zulässt. In einem gerade wiedergegebenen YouTube-Video spulen z. B. die Tasten Pfeil links und rechts vor und zurück.
    5. Will man das Objekt verlassen, drückt man NVDA+Leertaste. Hierdurch landet man wieder im virtuellen Puffer und kann weiter navigieren.

    Anwendern von VoiceOver auf dem Mac kommt diese Art des Hineinzoomens bekannt vor: VoiceOver verwendet diese Technik des Interagierens in allen möglichen sich bietenden Momenten, um alles um ein bestimmtes Objekt herum auszublenden und nur die Inhalte dieses Objekts zu präsentieren.

    Hinweis: Damit die obige Vorgehensweise mit Java-Applets funktioniert, muss diese natürlich die Tastaturnavigation unterstützen, mit SWING-Komponenten gebaut sein, und der Anwender muss neben der eigentlichen Java-Laufzeitumgebung auch die Java AccessBridge für Microsoft Windows installiert haben.

    Dieser neuartige Ansatz des Interagierens mit solchen eingebetteten Objekten bietet eine ganze Menge Chancen, mit Flash wesentlich kontrollierter umzugehen als dies bisher der Fall war. Man interagiert hier wieder mit dem Objekt selber und hat nicht den virtuellen Puffer dazwischengeschaltet, der Tasteneingaben filtert und auch anderweitige Ungenauigkeiten zur Folge haben kann.

    Für Flash- und Java-Entwickler bedeutet dies, dass sie noch mehr denn je darauf achten müssen, dass ihre Anwendungen barrierefrei sind. Mit NVDA haben sie glücklicherweise ein kostenloses Werkzeug zur Verfügung, damit dies gleich getestet werden kann.

    Für Adobe, die das NVDA-Projekt ja finanziell unterstützen, sollte dies ein Anreiz sein, den Flash Player auch unter Linux und Mac OS X zugänglich zu machen. Hierfür hat maccessibility.net eine Petition laufen, die Adobe dazu auffordert, dies zumindest für die Mac-Version bald umzusetzen. Wenn Du diese Petition noch nicht unterschrieben haben solltest, wäre es toll, wenn Du Deine Unterstützung signalisieren würdest, indem Du sie unterschreibst!

    Dem NVDA-Team einen herzlichen Glückwunsch zu dieser wirklich gelungenen Umsetzung!

    Anwendungstipp: Zuginfo für das iPhone

    Mittwoch, 16. September 2009

    Ich war gestern beim Stammtisch OSXHH, einer Gruppe, die sich jeden 3. Dienstag im Monat in der Halle 13 nähe der U-Bahn-Station Saarlandstraße in Hamburg trifft. Es ist eine Gruppe von Mac-Enthusiasten, die sich privat und/oder beruflich mit dem Mac befassen.

    Ich zeigte dort ein paar Dinge zur Barrierefreiheit in Mac OS X Snow Leopard und dem iPhone.

    Ein anderer Stammtischteilnehmer empfahl mir eine Anwendung namens ZugInfo, mit der es ganz einfach möglich ist, sich Verbindungen im ÖPNV herauszusuchen. Die Anwendung arbeitet mit bahn.de und lokalen Verkehrsverbünden und kann auch so nette Dinge tun wie Verspätungen von Zügen herausfinden.

    Ich lud mir zunächst die kostenlose Version herunter, um sie mit dem iPhone auszuprobieren. Das klappte ganz prima, ich hatte lediglich ein Verständnisproblem zu einer Funktion, und nach kurzem hatte ich meinen Rückweg nach Hause mit Umsteigezeiten usw. auf dem Handy.

    Auf dem Rückweg lud ich mir aus dem App Store noch die Spenden-Version für 1,59 €. Obwohl die kostenlose Version nicht eingeschränkt ist, fand ich es nur fair, die Arbeit zu belohnen, die Anwendung ist nämlich prima mit VoiceOver bedienbar. Hier der Link zu ZugInfo Spendenversion (öffnet in iTunes).

    Besuch beim Best Practices Stammtisch Essen am vergangenen Montag

    Mittwoch, 19. August 2009

    Am vergangenen Montag war ich zu Besuch im Ruhrgebiet. Sandra, die Initiatorin des Best Practices Stammtisch Essen hatte mich schon vor längerer Zeit eingeladen, mal vorbeizukommen. Im Gepäck hatte ich einige Infos über WAI-ARIA.

    Der BPSE findet jeden 1. Donnerstag und 3. Montag im Monat im Unperfekthaus statt. Das Unperfekthaus ist ein spannender Ort: Es ist ein Gebäude, das früher mal mindestens zwei waren, und eines davon war mal ein Kloster. An einigen Stellen fühlt man auch richtig altes Mauergestein. Es gibt viele Räume, die Galerien, Tanzveranstaltungen oder andere Aktivitäten beherbergen. Überall stehen Skulpturen von im Unperfekthaus aktiven Künstlern, und man darf sie, wenn man vorsichtig ist, auch anfassen. Überall sind Treppen, und das Haus ist so verwinkelt, dass das eine echte Herausforderung für jedes O&M-Training wäre, da mal durchzunavigieren. Es gibt freies WLAN und ein Buffet, das je nach Tageszeit das Angebot wechselt. Vor dem offiziellen Teil des BPSE gab es ein Grillbuffet mit leckeren Beilagen, gutem Kaffee und kalten Getränken.

    Im offiziellen Teil auf der “Internetcouch” sprach Maxx Hilberer zunächst über CSS3 Transforms. Hierbei handelt es sich um visuelle Effekte, mit denen Text gedreht, verschoben und verzerrt werden kann, ohne dass er als Grafik eingebunden werden muss. Wie ein Teilnehmer feststellte und ich inzwischen per Test bestätigen konnte, liegt hier auch ein großer Vorteil für die Barrierefreiheit: Der Text steht im HTML-Code und kann aussehen wie er will, Screen Reader werden ihn trotzdem richtig lesen können. Fehler wie fehlende Alt-Texte für Bilder, die man für solche Effekte früher einbinden musste, sind so vermeidbar. Maxx zeigte sogar einen Workaround für den IE, der von Peter Kröner hier beschrieben wird, aber nicht für den IE 8 funktioniert.

    Als nächstes Sprach Maik Wagner über die sinnvolle und sinnfreie Anwendung von Sprungmarken. Wir schauten uns einige Beispiele in der Praxis an und zogen auch die WebAIM-Umfrage hierzu heran.

    Wir leiteten dann über zu meinem kurzen Überblick über WAI-ARIA, und ich begann sinnvollerweise mit den ARIA Landmarks. In der Diskussion stellten wir sie auch in Bezug zu HTML5-Elementen, die hiervon inspiriert worden sind. Ich sprach dann auch über Roles, States und Live Regions. Wir schauten uns Accessible Twitter an, welches ja sowohl Landmarks als auch einige weitere Roles und Attribute wie aria-required verwendet.

    Der Abend ging zu Ende mit einem letzten gemütlichen Klönschnack vor der Tür des Unperfekthauses. Wir haben es natürlich geschafft, bis zur Schließung um 23 Uhr zu bleiben und verstreuten uns danach erst allmählich in alle Himmelsrichtungen.

    Vielen Dank an alle, die zu so einem netten Abend beigetragen haben! Hat mir Spaß gemacht, und ich komme gern mal wieder, wenn sich die Gelegenheit bietet und es terminlich passt.