Web 2.0 – Web ohne Zugänglichkeit?

Dieser Artikel bezieht sich auf eine veraltete Technologie.

Einleitung

Die im Web zur Formatierung von Webseiten eingesetzte Auszeichnungssprache HTML unterstützt lediglich eine geringe Anzahl an Steuerelementen, die vorwiegend zum Aufbau einfacher Formulare konzipiert wurden. Als Folge sind die von auf HTML basierenden „Webanwendungen“ gebotenen Möglichkeiten der Präsentation und Interaktion mit dargestellten Daten weniger reichhaltig als in ähnlichen Anwendungen, die direkt unter der Benutzeroberfläche eines Betriebssystems ausgeführt werden.

Das unter dem Begriff Web 2.0 zusammengefaßte Gemenge an Diensten und Technologien soll dieser Problematik Abhilfe schaffen. AJAX wird von seinen Fürsprechern als Möglichkeit gesehen, die reichhaltigen nativen Oberflächen verschiedener Benutzeroberflächen auch auf HTML-formatierten Webseiten verfügbar zu machen und damit Funktionalität anzubieten, die über die in HTML gebotenen Steuerelemente hinausreicht. Die selbst implementierten Steuerelemente werden häufig jenen der nativ laufenden Anwendungen nachempfunden.

Vielfach stellen die auf AJAX basierenden Lösungen jedoch lediglich unvollständige Kopien der bestehenden Steuerelemente dar, die sich hinsichtlich ihrer Funktionalität, ihres Verhaltens, ihrer Bedienung und ihrer Zugänglichkeit für Menschen mit Behinderungen von den Originalen unterscheiden. Ein weiterer Nachteil dieser Steuerelemente ist, daß sie sich nicht nahtlos in das Bedienungskonzept und Aussehen des jeweiligen Betriebssystems einfügen und in Folge ihre Bedienung für den Benutzer unintuitiv sein kann.

Da das Web, anders als native Benutzeroberflächen, seitenbasierend ist, haben beispielsweise die Tasten Auf, Ab und die Tabulatortaste bei einer in einem Webbrowser angezeigten Webseite eine andere Funktion. Im Microsoft Internet Explorer kann über auf Tasten Auf und Ab der Seiteninhalt vertikal gescrollt werden. Unter nativen Formularen unter Windows dienen diese beiden Tasten hingegen zum Wechsel zwischen den Steuerelementen. Außerdem erfordern auf AJAX basierende Webanwendungen zur vollständigen Funktion das Ausführen clientseitiger Skripte.

Exemplarisch wurde das von Microsoft bereitgestellte ASP.NET AJAX Control Toolkit am Stand vom 27. Januar 2007 auf Benutzbarkeitsprobleme und sonstige auffällige Unzulänglichkeiten hin untersucht. Die Untersuchung erfolgte mittels des Webbrowsers Microsoft Internet Explorer 6.0 SP2 unter Windows XP SP2 und stellt keinen Anspruch auf Vollständigkeit. Die festgestellten Benutzbarkeitsprobleme treffen nicht nur auf das ASP.NET AJAX Control Toolkit zu, sondern auch auf eine Vielzahl anderer AJAX-Pakete. So ist beispielsweise im Beispiel Tabbed Mode von Google das Aktivieren von Reitern über die Tastatur nicht möglich.

Bedienungsprobleme im ASP.NET AJAX Control Toolkit

Die meisten der Steuerelemente aus dem ASP.NET AJAX Control Toolkit basieren clientseitig auf DHTML. Dies stellt, anders als das im Hintergrund eingesetzte XMLHttpRequest-Objekt, die Hauptursache für die damit verbundenen Benutzbarkeitsprobleme dar. So werden häufig anstelle von Hyperlinks, auf die über die Tastatur zugegriffen werden kann, Mausklicks mit clientseitigen Skripten ausgewertet und der Zugriff über die Tastatur nicht unterstützt. Ein Großteil der beschriebenen Probleme ließe sich durch Einsatz adäquater HTML-Elemente beheben.

Calendar

Setzt man die Einfügemarke in eines der Eingabefelder, erscheint darunter ein Kalender zur Datumsauswahl. Diese Auswahl ist für die Tastatur unzugänglich, das Drücken der Tabulatortaste aktiviert nicht den Kalender, sondern bewirkt einen Sprung zum nächsten Eingabefeld.

Die Schaltfläche mit Kalendersymbol zum Anzeigen des Kalenders neben dem dritten Eingabefeld läßt sich ebenfalls nur über einen Mausklick aktivieren. Die Ereignisbehandlung des Klickereignisses wird zur Laufzeit über eine clientseitiges Skript hinzugefügt. Im Gegensatz zu diesem Steuerelement funktioniert beim PopupControl-Steuerelement der Zugriff auf den Kalender auch über die Tastatur.

CollapsiblePanel

Bei diesem Steuerelement besteht ebenfalls das Problem, daß das Ein- und Ausklappen eines Rahmens über die Tastatur unmöglich ist und nur mittels der Maus bewerkstelligt werden kann. Dies ist umso unverständlicher, als die Bedienung über die Tastatur beim ähnlichen Accordion-Steuerelement unterstützt wird.

DragPanel

Der Rahmen kann nur mittels der Maus verschoben werden.

DropDown

Das Menü selbst ist über die Tastatur bedienbar, im Beispiel kann es jedoch nur durch Klick mit der Maus auf das nicht über die Tastatur aktivierbare Steuerelement ausgeklappt werden.

DropShadow

Die abgerundeten Ecken des Rahmens und des Schattens weisen harte Kanten und Asymmetrien auf. Außerdem ist der Hyperlink zum Anzeigen der Details im Beispiel ist nicht über die Tastatur zugänglich.

FilteredTextBox

Das erste Eingabefeld akzeptiert seiner Beschreibung zufolge nur Ziffern als Eingabe. Fügt man jedoch zwei Mal hintereinander beliebigen Text aus der Zwischenablage in das Steuerelement ein, wird der beliebige Text nicht gelöscht. Dies trifft auch auf die beiden anderen Eingabefelder im Beispiel zu.

HoverMenu

Im Beispiel kann das Menü nur durch Überfahren von Einträgen mit dem Mauszeiger und nicht über die Tastatur zur Ansicht gebracht werden.

NumericUpDown

Während die Beispiele mit den Schaltflächen zur Erhöhung bzw. Erniedrigung des Wertes über die Tastatur zugänglich sind, leidet die Lösung mit den grafischen „Schaltflächen“ unter dem gleichen Problem wie das letzte Beispiel für das Calendar-Steuerelement.

PasswordStrength

Im dritten Beispiel kann die Schaltfläche ? nicht über die Tastatur aktiviert werden.

Rating

Das Setzen der Bewertung über die Tastatur wird nicht unterstützt.

ReorderList

Das Vertauschen der Listeneinträge kann nur mit der Maus über Drag and Drop durchgeführt werden. Es bietet sich an, das Ändern der Sortierung zusätzlich über eigene Schaltflächen oder die Tastatur zu ermöglichen.

ResizableControl

Die Größe des Steuerelements läßt sich nicht über die Tastatur verändern.

RoundedCorners

Hier findet sich die bereits beim DropShadow-Steuerelement beschriebene Unvollkommenheit im Aussehen.

Slider

Das Steuerelement kann nur mit der Maus bedient werden. Um Zugänglichkeit über die Tastatur zu gewährleisten, muß zumindest als Alternative die Möglichkeit der Eingabe des Wertes über die Tastatur angeboten werden. Im zweiten gezeigten Beispiel ist dies über ein Eingabefeld möglich.

Tabs

Das Wechseln zwischen den Reitern mittels der Tastatur ist nicht möglich. Damit bleiben die Inhalte der nicht ausgewählten und damit nicht angezeigten Reiter dem Benutzer ohne Maus verborgen.

ValidatorCallout

Die Sprechblase mit dem Hinweis auf eine fehlerhafte Eingabe läßt sich nicht über die Tastatur schließen, da die Schaltfläche zum Schließen nicht für die Tastatur zugänglich ist.

Schlußwort

In der allgemeinen Begeisterung um die von AJAX gebotenen technischen Möglichkeiten werden die wichtigen Aspekte der Benutzbarkeit und Zugänglichkeit in den entwickelten Lösungen häufig vernachlässigt. Aufgrund der Abhängigkeit von clientseitiger Skriptausführung gilt es zudem, darauf zu achten, AJAX nur zur Anreicherung einzusetzen, nicht aber zur Implementierung von Grundfunktionen. Ausnahme bilden in administrierten Umfeldern bereitgestellte Webanwendungen. Ferner sollte abgewogen werden, ob nicht angesichts der unter Windows mit ClickOnce-Bereitstellung vereinfachten Verteilung von Anwendungen eine klassische native Anwendung die bessere Lösung als eine Webanwendung darstellt.