| Adventskalenderöffner
Registriert seit: 27.11.2008
Beiträge: 72
PHP-Kenntnisse: Fortgeschritten
| 3: Schrittweise verbessert und graziös erniedrigt 3:Barrierefreiheit ist eines der zentralen Themen des sogenannten Web 2.0. Eine Seite, die nicht barrierefrei ist, erschwert den Zugang zu Informationen, sowohl für Menschen, die aufgrund einer Behinderung auf spezielle Hilfstechnologien angewiesen sind, als auch ― und das wird leider oft vergessen ― für Menschen ohne besondere körperliche oder geistige Defizite. Es sollte somit eines der Grundkriterien für die Erstellung einer Website sein.
Nun wird dem Argument Barrierefreiheit leider oft entgegengesetzt, dass sie dem Designer viele Möglichkeiten nimmt, da sich gewisse Technologien nicht anwenden lassen, weshalb oft auf die Barrierefreiheit zugunsten der Optik verzichtet und die Seite bspw. in Flash implementiert wird. Dass das nicht sein muss, haben bereits viele optisch äußerst ansprechende und dennoch barrierefreie Websites gezeigt. Ein zentrales Werkzeug zum Erreichen einer Balance zwischen Optik und Barrierefreiheit, ist die Technik der Progressive Enhancement, also des Aufbaus einer Website Schritt für Schritt.
Diese Technik ist nichts Neues, sondern lediglich ein Weiterdenken bereits vorhandener Mechanismen. Jeder, der eine Website erstellt hat, wird schon Progressive Enhancement eingesetzt haben, ohne es gemerkt zu haben. Zunächst baut man das HTML-Gerüst, darauf setzt man die CSS-Regeln auf und anschließend folgt Dynamik mit JavaScript und es ist jedem Designer klar, dass sich JavaScript ausschalten lässt, woraufhin die oberste Schicht wegfällt. Die Seite ist (im Regelfall) aber dennoch bedienbar. Wer die CSS ausschaltet, der entledigt sich noch einer Stufe und dennoch bleiben die Informationen zugänglich, da nur die schöne Optik weggefallen, der Inhalt aber noch vorhanden ist.
Zu verdanken haben wir diese Tatsache der Philosophie des Webs. Das Web besteht aus Daten und nicht aus Bildern und diese Daten lassen sich schön aufbereiten. Der Designer gibt dem Browser sozusagen Ratschläge, wie er die Seite darzustellen hat. Letztendlich liegt es aber am Benutzer bzw. dessen Ausgabegerät, wie die Informationen angezeigt werden. Darauf hat der Designer keinen Einfluss und er muss ihn auch nicht haben, da sich genau hieraus eine Menge Flexibilität für den Endanwender ergibt. Allein durch die Tatsache, dass jeder sich die Daten in einem für ihn passenden Format anzeigen lassen kann, hat das Web in seiner heutigen Form erst möglich gemacht.
Denkt man an dieser Stelle weiter, so lässt sich das Progressive Enhancement bewusst einsetzen, um die Optik der Seite aufzubessern, bestimmte Features anzubieten und, und, und…
Man fängt also ganz bewusst bei der Struktur an und achtet darauf, dass bereits auf dieser Ebene alle notwendigen Informationen zugänglich sind. Ist dies der Fall, lässt sich hierauf wunderbar aufbauen. Als Beispiel verpassen wir einem DIV-Container einen wundervollen Rahmen mit abgerundeten Ecken und der Text im Innern soll einen leichten Schatten erhalten. Anstatt mit Grafikteilen und vielen unnötigen DIVs herumzupfuschen, nutzen wir einfach die CSS-Angaben Code: -moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
sowie Code: text-shadow: #ccc 1px 1px 2px;
Browser, die diese Eigenschaften kennen, stellen sie wie gewünscht dar. Ältere Browser und der IE ignorieren sie und stellen den Text ohne Schatten dar und die Box erhält eckige Ränder (was übrigens auch gar nicht so schlecht aussieht, abgerundete Ecken werden viel zu sehr überbewertet). Wieder andere Benutzeragenten, die gar kein CSS verstehen oder nicht grafikfähig sind, wie z.B. Textbrowser, lassen die Angaben ganz weg und beschränken sich auf die Informationen. Allen Fällen ist eines gemein: das Wichtigste, nämlich die Informationen, sind stets lesbar.
Genauso lässt sich nun mit dem JavaScript-Aufsatz verfahren. Die Textbox soll nun zugeklappt sein und beim Klick darauf aufklappen. Browser, die JavaScript unterstützen, tun dies anstandslos, Browser mit deaktiviertem JavaScript o.ä. stellen die Box ganz normal aufgeklappt dar wie sie bisher auch war. Die Informationen sind dennoch da.
Diesen Vorgang des Herabsteigens in der Ordnung der Ebenen nennt man auch Graceful Degradation.
Als Fazit lässt sich eine gewisse vertikale Ebenenstruktur skizzieren. Jede dieser Schichten ist weitestgehend autark, keine Schicht erfordert eine höher liegende Schicht, jede ist für sich funktionsfähig, solange die darunterliegende Schicht arbeitet. Wird eine der Schichten nicht oder nur teilweise unterstützt, so wird auf die betroffenen Features verzichtet, ohne dass dies der Gesamtanwendung schadete.
Progressive Enhancement ist folglich ein äußerst brauchbares Mittel, um das Maximum an Kapazität auszuschöpfen, ohne auf die Barrierefreiheit zu verzichten. Im Gegenteil: durch die bewusste Anwendung dieses Paradigmas lässt sich diese noch erweitern, da definitiv keine Inhalt von der Darstellung abhängt, keine Information von deren Aufbereitung.
Es lässt sich nur wieder betonen: das Web erfordert nicht, dass alles überall gleich aussieht, das Web erfordert nur, dass alles von überall zugänglich ist. Progressive Enhancement ist die logische Konsequenz dieses Paradigmas. |