XHTML SVG CSS PHP

Dr. O. Hoffmann

CSS-Layout

Dinge zu bezweifeln, die gemeinhin einfach nur geglaubt wurden, ist allemal eine ehrenvolle Aufgabe.
Olaf Hoffmann

browser und Zugänglichkeit

Da ältere browser wie Netscape4 und Vorgänger und andere mit Mozilla 4 kompatible browser wie microsoft internet explorer (msie) 4, 5 oder 6 CSS 2 nur teilweise oder gar nicht umsetzen können und auch bei CSS 1 noch Fehler vorliegen, scheint mit CSS die Zugänglichkeit nicht erhöht zu werden.
Nachdem es mit CSS 2.1 einige Korrekturen, aber auch einige Widersprüche und mit CSS 2.0 gegeben hat, was die Situation teilweise verbessert hat, teilweise aber auch verschlechtert, treten mit den neuen Modulen für CSS 3 zahlreiche neue Eigenschaften auf, die natürlich von allen älteren Programmen nicht interpretiert werden können.

Daß die Zugänglichkeit nicht erhöht wird, ist aber insofern ein Irrtum, als Stilvorlagen bei veralteten Darstellungsprogrammen ja einfach abgeschaltet werden können und immer noch eine automatisch vom browser gut formatierte (X)HTML-Seite angezeigt werden wird. Es werden für solche alten Programme also eigentlich keine neuen Barrieren aufgebaut. Durch eine schlechte Dokumentstruktur, die erst mit einer komplexen Stilvorlage inhaltlich einen Sinn ergibt, können unfähige Autoren allerdings auch massive Barrieren aufbauen, von daher ist CSS auch ein gefährliches Werkzeug in den Händen von unfähigen Ignoranten. Begabte und kundige Autoren können CSS hingegen gut nutzen, um die Ergonomie von Projekten zu verbessern und das Wohlbefinden der Leser durch ansprechende Dekoration zu erhöhen.

Der wichtigste Aspekt bei der Einführung von CSS war also die komplette Trennung der Präsentation vom eigentlichen Inhalt, der im gut strukturierten (X)HTML-Dokument vorliegt. Die Präsentation oder Dekoration ist also eine zweite, vom Inhalt unabhängige Methode, um alternative Ansichten des Inhaltes anbieten zu können. Mit CSS bietet ein Autor also immer nur eine Alternative zu der Präsentation an, die das Darstellungsprogramm, der browser unabhängig vom Autor anbietet. Entsprechend muß der Autor also nur seinen Inhalt im (X)HTML-Dokument ordentlich strukturieren, um ein prinzipiell zugängliches Dokument zu haben. Die Stilvorlage ist ein davon unabhängiger Zusatz, ein Angebot, welches der Leser nutzen kann, aber nicht muß.

Gleichwohl kann die Stilvorlage natürlich die Nutzbarkeit, Ergonomie und das Wohlbefinden der Leser verbessern, ist also in seiner Wichtigkeit nicht zu unterschätzen, weil der Autor anders als das Darstellungsprogramm natürlich viel besser beurteilen kann, wie der Inhalt optimal aufbereitet präsentiert werden sollte. Mängel in der Interpretation der Stilvorlage haben natürlich zur Folge, daß die Präsentation der Stilvorlage nicht optimal erfolgt, also wieder zu Zugänglichkeitsproblemen und einer schlechteren Ergonomie führen kann. Eine unsinnige Präsentation kann natürlich auch wieder das Wohlbefinden der Leser vermindern, ist also als kontraproduktiv anzusehen. Daher lohnt es sich naturlich, Mängel zu erkennen und Eigenschaften zu kennen, bei der die Interpretation bei vielen aktuellen Versionen mangelhaft ist, damit man sie gar nicht erst nutzt.

Wer als Leser also die komplette CSS-Formatierung genießen will, sollte schon zu einem aktuellen Darstellungsprogramm wechseln, welches in der Lage ist, CSS fehlerfrei und lückenlos umzusetzen. Zudem ist es extrem wichtig, daß die Interpretation von CSS auch wirklich abschaltbar ist, um bei größeren Mängeln Zugänglichkeitsprobleme zu umgehen.

Allerdings ist CSS ein bereits so mächtiges Werkzeug, daß jeder Projektersteller schon gut und sorgfältig damit umgehen können muß, um haltbare Resultate zu erzielen - und zwar auch mit anderen als den Voreinstellungen am eigenen Programm, welches zum Testen verwendet wird. Und auch ohne CSS sollte die Seite immer noch ansehnlich aussehen - und vor allem zugänglich und barrierefrei lesbar sein. Es ist also genau zu überlegen, in welcher Reihenfolge Inhalte im XHTML-Dokument angeordnet werden, denn so werden sie ohne CSS auch dargestellt, während es mit CSS recht einfach ist, die gleichen Elemente anders anzuordnen, ohne das XHTML-Dokument zu ändern.

Die zur Entstehungszeit der ersten hier diskutierten Stilvorlagen von etwa September 2003 bis November 2006 besten Resultate habe ich erzielt mit Opera 7, 8, 9 und Mozilla (genauso gut sollten sein: Iceape, SeaMonkey, Iceweasel, Firefox, Netscape 6/7, Galeon, Epiphany und andere mit der Gecko-Maschine). Kleinere Schwächen bei CSS 2 hat Konqueror 3.1 (kompatibel dazu dürfte der Safari sein) leider immer noch, die Darstellung ist aber immer noch als gut zu bewerten. Die Version Konqueror 3.2 hat allerdings fast schon mit Opera oder Mozilla gleichgezogen. Konqueror 3.5 galt dann als führend in der CSS-Interpretation.
Der microsoft internet explorer (msie) kann wie gesagt größere Teile von CSS 2 und weitere von CSS 1 nicht interpretieren, seine Darstellung wird allenfalls noch ausreichend sein, beim msie7 gibt es weniger Fehler und Lücken als bei msie6 und dort ein paar weniger als im msie5. Netscape 4 hat einem noch etwas kleineren Funktionsumfang als der msie5, der zudem nur aktiv wird, wenn java-script aktiviert ist - so daß Netscape 4 unter normalen Umständen (java-script deaktiviert) gar keine Stilvorlagen anzeigen wird.
Wenn solche alten Darstellungsprogramme wie der msie oder Netscape4 beim Layout noch berücksichtigt werden sollen, sind dafür sogenannte browser-Weichen oder -Fehlerkompensationen erforderlich, die für diese Programme eine Sparversion des Layouts anbieten.
Einzig ein Aussortieren der vierten browser-Generation scheint hier sinnvoll sein, weil diese Stilvorlagen nur teilweise oder grob fehlerhaft interpretiert. Auf aufwendige Positionierung sollte bei diesen Versionen auf jeden Fall verzichtet werden. Nach Möglichkeit sollte man es da bei einfachen Farbdefinitionen belassen. Noch ältere browser werden Stilvorlagen hingegen ganz ignorieren, für diese ist keine browser-Weiche notwendig.
Besonders problematisch am msie ist in dieser Hinsicht, daß dieser keine Möglichkeit zu haben scheint, die Interpretation von CSS zu deaktivieren, zumindest ist es mir bislang nicht gelungen, eine solche Möglichkeit zu finden. Programme, die diese Möglichkeit der Deaktivierung nicht bieten, sind jedenfalls Lesern nicht zu empfehlen. Autoren sollten im Interesse der Nutzer, die solche Programme trotzdem nutzen, in Erwägung ziehen, solchen Programmen per Voreinstellung nur eine sehr einfache Stilvorlage anzubieten, wo jedenfalls Fehlinterpretationen nicht zu Zugänglichkeitsproblemen führen.

Neuere Programmversionen werden CSS 2 besser interpretieren als die genannten, allerdings mit der Einschränkung, daß in CSS 2.1 einige Inkonsistenzen zur Vorgängerversion eingeführt wurden, die problematisch sind. Da Autoren in den Stilvorlagen keine Angaben machen können, welcher Version ihr Dokument entspricht, sind damit einige wenige Teile von CSS formal undefiniert und sollten daher vermieden werden, was in der Praxis recht leicht möglich ist.

Eine neue Herausforderung ergibt sich wiederum mit den neuen Modulen von CSS 3, die natürlich nicht von alten Programmen interpretiert werden. Da allerdings unbekannte oder fehlerhafte Strukturen ohnehin nicht interpetiert werden, ergibt sich so zumeist eine einfache Möglichkeit, einfachere Varianten für alte Programme mit neuen Möglichkeiten für neue Programme zu überschreiben. Die Darstellung für alte Programme sieht dann natürlich anders aus, bietet aber immer noch einen guten Zugang zum Inhalt.

Sehr schön bei Opera, Mozilla und Konqueror ist auch, daß inzwischen die alternate style-sheets ausgewählt werden können.
Und ein Triumph für Mozilla und SeaMonkey ist es, daß endlich das link-Element aus dem HTML-2 Standard umgesetzt wurde, welches es ermöglicht, die komplette Navigation über die sogenannte Seiten-Navigationsleiste zu absolvieren. Opera interpretiert das Element immerhin teilweise.