Warum sehen Seiten im Firefox anders aus als im IE?

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

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. 😉