Webtechnologien im Umbruch: Der steinige Weg von HTML 5
Hyper Text Markup Language, kurz HTML, ist die sicherlich wichtigste Komponente, wenn es um das Erstellen von Webseiten geht. Ein paar wenige Elemente genügen und schon kann eine Webseite ins Netz gehen, eine HTML-Seite ist von sich aus tragfähig und geeignete Werkzeuge erleichtern die ersten Gehversuche. Doch der Standard ist alt, zu alt, wie sowohl Browserhersteller als auch Webdesigner mittlerweile meinen.
Die Abstände zwischen Veröffentlichungen neuer Standards sind gewachsen. Aus dem Jahre 1999 stammt mit HTML 4.01 die letzte Version des HTML-Standards. Zudem gibt es noch den in XML formulierten Ableger XHTML 1.0 bzw. 1.1, wobei Letzteres vor allem strenger zur Sache geht und Unterstützung für Ruby(öffnet im neuen Fenster) enthält (nicht zu verwechseln mit der Programmiersprache Ruby(öffnet im neuen Fenster) ), sonst aber kaum unterschiede aufweist(öffnet im neuen Fenster) .
Einen Schritt weiter wollen die kommenden Standards (Empfehlungen in der Sprache des World Wide Web Consortiums) HTML 5 und XHTML 2.0 gehen. Um die Verwirrung komplett zu machen, gibt es noch XHTML 5, der Ableger von HTML 5. Letzterer ist nicht zuletzt deswegen am Entstehen, weil vor allem aus Sicht von Opera, Mozilla und Apple die Entwicklung von XHTML 2.0 in die falsche Richtung geht.
Es entstand die "Web Hypertext Application Technology Working Group" (WHATWG). Die Macher hinter (X)HTML 5 sehen XHTML 2.0 sogar als unnötig an, nicht zuletzt, weil anscheinend kein Browserhersteller richtig daran interessiert ist. Einige Formulierungen der WHATWG zum Thema klingen wie Seitenhiebe auf das World Wide Web Consortium (W3C). Das W3C und die WHATWG haben sich mittlerweile angenähert, das W3C die Arbeit an HTML 5 anerkannt und entwickelt mit einer eigenen Arbeitsgruppe ebenfalls an diesem Standard.
Wie aktuell die Arbeit um HTML 5 ist, zeigt sich an einigen Diskussionen der letzten Wochen. Um die Situation noch ein wenig verfahrener zu machen, gibt es Forderungen, wie etwa von Molly E. Holzschlag, die Entwicklung an HTML 5 und XHTML 2.0 gleich komplett zu stoppen(öffnet im neuen Fenster) . Der Grund: Die Browserhersteller sollten erstmal ihre Hausaufgaben machen und die bestehenden Standards soweit möglich vollständig implementieren, damit eine gemeinsame Grundlage für eine Weiterentwicklung besteht.
Die Antwort aus dem W3C-Lager(öffnet im neuen Fenster) ließ nicht lange auf sich warten: HTML 5 soll die Probleme genau dort lösen, wo Browserhersteller sie nicht lösen können, weil die derzeitigen Spezifikationen selbst Lücken aufweisen. Wie sich ein Browser im Falle eines Fehlers zu verhalten hat, ist etwa nicht definiert. Derzeit muss ein Browserhersteller selbst entscheiden, was zu tun ist. Verschiedene Browser verhalten sich bei defekten Webseiten also unterschiedlich. Nur Validatoren arbeiten in dem Sinne "korrekt", beim Parsen des Dokuments wird im Fehlerfalle eine entsprechende Warnung ausgegeben und eine Fehlerkorrektur findet nicht statt. Diese Korrektheit wird jedoch kaum ein Internetnutzer auf sich sitzen lassen.
Einige Zahlen(öffnet im neuen Fenster) , die Molly E. Holzschlag anführt, zeigen jedoch, dass die Probleme ganz woanders liegen könnten. Sie führt etwa an, dass bei einigen von ihr besuchten europäischen Konferenzen zwischen 65 und 98 Prozent aller Webdesigner weiterhin auf Tabellenlayouts setzen, statt Text semantisch korrekt auszuzeichnen und somit auch anderen Diensten brauchbar zur Verfügung zu stellen.
Wie unterschiedlich die beiden Ansätze (Tabellen vs. Semantik) sind, zeigt sich auch an dem Code. Während der Tabellencode vor allem die optische Komponente als Grundlage nutzt und so Elemente einer Webseite zu großen Teilen nach diesen optischen Maßstäben anordnet, wird moderner, entsprechend ausgezeichneter Code nach seiner Bedeutung geordnet. Tabellen kommen bestenfalls noch für logische Tabellen zum Einsatz, das klassische "Drei-Spalten-Layout" wird im modernen Webdesign nicht mehr als Tabelle realisiert.
Hinter den beiden Ansätzen stecken grundverschiedene Denkweisen. Der Webmaster der alten Schule "denkt" regelrecht tabellenorientiert und hat bei der Umstellung so seine Schwierigkeiten, aus dem Tabellensystem auszubrechen, dafür zerbricht sich der moderne Webdesigner oftmals den Kopf, wenn es darum geht, klassische Layouts umzusetzen, die viele Auftraggeber noch immer wollen, ohne neue Möglichkeiten zu kennen. Sind diese Layouts gefordert, ist einiges an Trickserei notwendig, um zu einem befriedigenden Ergebnis zu kommen. Eine einfache Lösung ist erst mit der kommenden Layoutsprache CSS Level 3 zu erwarten.
Mindestens ebenso überraschend dürfte die geringe Nutzung von CSS sein, die Holzschlag ausführt. Die Webdesigner, die CSS seit mehr als drei Jahren nutzen, sind eine deutliche Minderheit auf den Konferenzen und auch ein Bewusstsein zur Barrierefreiheit war auf den Konferenzen kaum anzutreffen. Eine Person fragte Holzschlag tatsächlich: "Ist es wirklich möglich, CSS zu nutzen, um Seiten anzulegen?"
Auch wenn diese Zahlen nur beispielhaft sind, es ist nicht unbedingt der Standard, der die Probleme erzeugt. "Wir haben keinen guten Job darin gemacht, Lernwerkzeuge zu entwickeln und den arbeitenden Webdesigner und -entwickler wirklich zu unterstützen, damit dieser besser informiert darüber ist, was er oder sie tun kann" , führt Holzschlag dazu aus.
HTML 5 bringt aber gerade neue semantische Beschreibungen mit, mit denen ein Großteil der Webdesigner nichts anfangen wird oder kann. Da wäre etwa das article-Element für die Auszeichnung eines Artikels. In Blogs würde etwa jeder Artikel vom article-Element umgeben werden. Beispielhaft könnte ein Browser automatisch eine Übersicht aller Artikel generieren, da er diese nun erkennen kann. Er nutzt dazu einfach die korrekt ausgezeichneten Überschriften aus jedem Artikel-Block und zeigt diese bei Bedarf als Übersicht an. Auch Suchmaschinen könnten diese Auszeichnung auswerten und entsprechend darauf aufbauen.
In derzeitigem HTML würde dies wohl eher mit dem Code
realisiert werden, um den jeweiligen Artikeln auch gleich ein entsprechendes Aussehen mit der Layoutsprache CSS zu verpassen. Wobei die Klasse frei definiert werden kann, statt "article" könnte dort etwa auch "golemartikel" stehen. Browser wie Suchmaschinen können dies kaum auswerten.
Solche "fehlenden" Elemente in HTML sind mit für die so genannte "div-Suppe" verantwortlich, also dem inflationären Gebrauch des Div-Elements aus Mangel oder mangelnder Kenntnis an Alternativen. In dieselbe Richtung stößt im Übrigen auch XHTML 2.0, welches unter dem Mangel an Unterstützung seitens der Browserhersteller leidet. Außerdem gestaltet sich der Umbau von (X)HTML 1.0 zu XHTML 2.0 schwieriger, während ein Dokument in (X)HTML 5 nach nur wenigen Anpassungen erzeugt werden kann.
In diesem Kontext ebenfalls interessant sind die neuen Elemente "header" und "footer", die jeweils den Kopf bzw. Fuß einer Seite beschreiben. Damit könnte ein Browser bzw. ein Nutzer-Agent (User Agent - UA), wie es in der Sprache des W3C heißt, etwa sich wiederholende Informationen optional ausblenden. Dies wäre auch eine große Hilfe für blinde Netzbewohner, die sich nicht ständig den Kopf einer Seite vorlesen lassen bzw. mit einer Braille-Zeile erfassen wollen. So wird eine Webseite ohne bewusstes Zutun des Webdesigners auch gleich ein Stück von Barrieren befreit.
Weitere neue Elemente mit entsprechenden Bedeutungen sind etwa "audio", "video", "meter" und "time". Das "video"-Element wird bereits experimentell von einigen Browsern unterstützt. Einige ältere Elemente wie etwa das "b"-Element, welches früher für "bold" (Fett) stand, bekommen eine neue semantisch inkompatible Bedeutung und bleiben bei der darstellenden Ausführung durchaus kompatibel zu älteren HTML-Versionen. Im Falle des "b"-Elements oder "i"-Elements bedeutet dies, dass die rein optische Auszeichnung in den Hintergrund rückt. "b" wird für stilistisch besonders hervorzuhebende Wörter eingesetzt, ohne eine zusätzliche Wichtigkeit auszudrücken.
Das Wort "Warnung" würde etwa nicht mit dem "b"-Element umschlossen werden, hier ist das "strong"-Element einzusetzen. Das "i"-Element soll nun eine andere Stimmung ausdrücken, während es in älteren HTML-Versionen für die optische Bedeutung kursiv stand. In der Praxis dürfte sich bei der Darstellung also nicht viel ändern. Für beide Elemente gilt jedoch: Diese sind nur als das allerletzte Mittel einzusetzen, wenn kein anderes Element eine passende Bedeutung hat; für Zitate etwa "cite" statt "i" und für Überschriften "h1-6" statt "b".
Neben neu hinzugekommenen Elementen wurden einige ältere Elemente aus dem Standard gestrichen. Darunter finden sich meist Elemente, die schon länger den Status "Decprecated" innehaben, deren Benutzung vom W3C also missbiligt wurde. Teils beliebte Elemente wie "center", "s" bzw. "strike", "u", "tt", "big" und "basefont" verschwinden in HTML 5. Ein eingeschränktes Verbot gibt es für das font-Element, um Schriften zu formatieren, WYSIWYG-Editoren (What you see is what you get) dürfen das Element aus Kompatibilitätsgründen noch benutzen.
Für diese gestrichenen Elemente gilt, dass es besser ist, die Funktionalität mit CSS nachzubauen, eine tatsächliche logische Bedeutung haben die Elemente nicht und werden sie voraussichtlich auch nicht bekommen. Weitere gestrichene Elemente betreffen die Nutzung von Frames, die aus Gründen der Benutzbarkeit zu vermeiden sind, sowie einige selten genutzte Elemente. Auf der geplanten Streichliste finden sich zudem etliche Attribute, die zum Teil für einige Elemente nicht mehr genutzt werden dürfen. Auch hier ist die Benutzung von CSS der bessere Weg.
HTML 5.0 richtet sich in vielen Punkten an Webdesigner, denen Semantik wichtig ist und die damit zumindest ansatzweise auch etwas anfangen können. Die korrekte Nutzung der Elemente in HTML beherrscht jedoch nicht jeder, zu aufwendig ist es anscheinend, in Standards zu schauen oder umzudenken. Tabellen bestimmen immer noch einen großen Teil der Internetauftritte: Einmal daran gewöhnt, will man nicht unbedingt von seiner lieb gewonnenen Technik ablassen - insbesondere, wenn der Autor viele Elemente gar nicht erst kennt oder mit einem WYSIWYG-Editor arbeitet und nur gelegentlich an den Quelltext geht.
Ist man erstmal von den Tabellen weggekommen, stellt sich einem die nächste Herausforderung: Die Benutzung auf oder div-Elemente zu beschränken ist verlockend, denn von der Darstellung her ist es bei Nutzung von CSS kein Unterschied, ob der Webautor nun
oder
für die Auszeichnung benutzt. Lieber wird mit vielen Klassen gearbeitet und über Vererbung lieber nicht nachgedacht. Außerdem sieht der Webdesigner Probleme mit verschiedenen Nutzeragenten (etwa mobile Browser, Suchmaschinen oder die Braille-Zeile) nicht, da der Webdesigner sich nicht in deren Lage versetzen kann oder will, dabei würden sich viele Probleme bei standardkonformem Einsatz von HTML gar nicht erst ergeben.
Eine Top 5 der vergessenen Elemente(öffnet im neuen Fenster) zeigt, dass HTML doch weit mehr ist als eine Ansammlung aus Absätzen und Zeilenumbrüchen, die in eine Tabellenstruktur gepresst werden. In einer Programmiersprache undenkbar, bei Webseiten reicht dieses Wissen aber bereits aus und Browser aus Redmond, die sich Jahre Zeit lassen, um Standards umzusetzen, tun ihr Übriges, um eine Fortentwicklung des Netzes zu verhindern. So bleibt die Frage, ob ein HTML-5-Standard das eh kaputte Web tatsächlich verbessert.
Auch wenn hier nur ein Teil betrachtet werden kann, die Vorteile von HTML 5 liegen auf der Hand: Der Quelltext sollte durch mehr beschreibende Elemente einfacher in der Wartung sein, viele Kommentare (etwa für Kopfanfang und -ende) werden überflüssig und gerade in Verbindung mit der Layoutsprache CSS werden einige Klassen und IDs eingespart. Sie gelten jedoch nur für Webdesigner, die bereits modernen HTML-Code produzieren, der Rest muss zunächst die Grundlagen erlernen, die HTML (und CSS) seit nunmehr einem Jahrzehnt ausmachen, um mit neuen Möglichkeiten für ein besseres Web zu sorgen.
Besonders wichtig ist zudem die Unterstützung der meisten Browserhersteller, Microsoft hält sich wie üblich zurück, möglicherweise enthält der kommende Internet Explorer 8 die ein oder andere Überraschung. Hoffentlich nicht in die falsche Richtung . Soweit die Theorie, denn noch gibt es keinen (vollständigen) HTML-5-Browser und die Arbeiten an der Spezifikation stehen noch am Anfang.
Bis zur Standardisierung kann es noch eine Weile dauern. Das W3C geht davon aus, bis zum Jahr 2010 einen Standard verabschiedet zu haben. Die WHATWG, das seit 2004 den HTML-Standard weiterentwickelt, hält einen Zeitplan von 15 Jahren für realistisch. Die jetzigen Änderungen sind nur ein Vorgeschmack dessen, was die Webdesigner erwartet. Noch wurde kaum etwas in Browsern implementiert und der Standard befindet sich in einer frühen Entwurfsphase, Änderungen nicht ausgeschlossen.
Die Unterschiede zwischen HTML 4 und 5 sind in einem Dokument des W3C detailliert aufgeführt(öffnet im neuen Fenster) , eine weitere Übersicht bietet zudem eine Auflistung aller Elemente(öffnet im neuen Fenster) von HTML 4.01 über XHTML 1.0 und 1.1 bis hin zu den noch nicht fertigen Versionen XHTML 2.0 und HTML 5.



