Dieser Thread ist Start einer Serie von (ich nenne sie mal) Artikeln, mit denen ich Verständnis für die HTML Variante Strict schaffen, aber auch praktische Hinweise zu gutem HTML und der Wichtigkeit von CSS geben möchte.

Dieser erste Teil ist sehr theorethisch und umfasst einige meiner Überlegungen zu der Thematik. Praktische Anwendungen finden sich erst in späteren Teilen. Hier würden mich vor allem Anmerkungen und Kritik interessieren.

Die Grundlagen

Um Strict verstehen zu können ist es notwendig, den Ursprung von HTML zu kennen.

1986 wurde die SGML (Standardisierte generalisierte Auszeichnungssprache) zu einem internationalen Standard gekürt. SGML ist eine Sprache, die andere Sprachen definiert. Diese Sprachen nennt man Anwendungen von SGML. Sie werden geschrieben und nicht programmiert.

Zweck von SGML ist es, Informationen zu strukturieren, damit diese in menschen- und maschinenlesbarer Form vorliegen.

Beispiel:
In einer SGML-Anwendung könnte man Überschriften und Absätze etwa so schreiben:

HTML-Code:
<überschrift>Titel des Absatzes</überschrift>
<absatz>Inhalt des Absatzes</absatz>
Dies definiert jedoch nur die Bedeutung des Inhalts, nicht deren Aussehen.

1989 wurde die erste Version von HTML - mit den Regeln von SGML - von Tim Berners-Lee festgelegt. Diese enthielt bereits viele wichtige Elemente, um Text zu strukturieren: Überschriften, Absätze, Listen und, was am wichtigsten ist und HTML so revolutionär machte, Anker um auf andere Dokumente verweisen zu können. Das Web war mehr oder weniger geboren, bereits im Folgejahr ging die erste Webseite online.

Im Zeitraum bis Mitte der Neunziger, welcher heute als erster Browserkrieg bekannt ist, wurde HTML von den Browserherstellern Netscape und Microsoft um Elemente erweitert, die dem Grundgedanken von SGML und HTML - Informationen möglichst Plattform und Programmunabhängig bereitzustellen - sehr fern waren. In diesem Zeitraum schaffte es HTML zur Version 3.2, welche zum Großteil von den Browserherstellern definiert wurde, anstatt des World Wide Web Konsortiums (W3C), welche sich - 1994 gegründet - der Zukunft des Webs gewidmet hatte.

Dann verlor Netscape den Browserkrieg und Microsofts Internet Explorer wurde als eindeutiger Marktführer nur noch sparodisch Weiterentwickelt.
In der Zwischenzeit gelang dem W3C eine Revolutionäre Erfindung, welche einerseits HTML auf seine Wurzeln zurückführte, andererseits aber Webautoren ein breites Arsenal an Gestalterischen Möglichkeiten bot: Stilangaben bzw. CSS (Cascading Stylesheets).

Dieser neue Standard brachte einige Vorteile:
  • Stilangaben können extern gespeichert werden und müssen daher nicht Teil des Dokuments sein.
  • Stilangaben geben größere gestalterische Möglichkeiten. Diese sind nicht nur auf die graphische Ausgabe beschränkt, auch hör- und fühlbare Gestaltung ist heute möglich.
  • Durch Erstellung alternativer Stilangaben ist die zusätzliche Gestaltung von Drucklayouts und Desings für Low-End Geräte überflüssig geworden.
Nicht wesentlich später als die Einführung von CSS als Standard verabschiedete das W3C die neue HTML Version 4. Diese liegt in drei Varianten vor.
  • Frameset und Transistional - Diese Varianten waren dazu gedacht, bestehende Webseiten einfach in die neue Version zu überführen, damit auch diese über valides HTML verfügen konnten.
  • Strict - Diese Variante wird Autoren für das Erstellen neuer Webseiten ans Herz gelegt. Die Strenge liegt im Fehler formatierender Elemente und Attribute sowie einem besonderen Augenmerk auf die Struktur des Inhalts. Gestaltung jeder Art soll mit Hilfe von Stylesheets realisiert werden.
Damit sind wir etwa in der heutigen Zeit angekommen. Leider werden die Standards HTML Strict und CSS heute noch nicht so exzessiv genutzt, wie sich das W3C es sich 1996 (also vor über 10 Jahren) vorgestellt hatte. Schuldig daran ist der noch immer marktführende Browser Internet Explorer von Microsoft, welcher zwischen 2001 und 2005 eine Entwicklungspause eingelegt hat.
Dennoch herrscht Aufbruchstimmung. Webstandards erreichen eine immer höhere Bedeutung und alternative Browser wie Mozilla Firefox, Opera oder Safari werden immer beliebter. Dies führte nun dazu, dass Microsoft nach über 4 Jahren Entwicklungspause den Internet Explorer Version 7 ad hoc auf den Markt brachte.

Um den Zweck von HTML noch etwas zu verdeutlichen ein Vergleich mit dem PDF Format.
  • PDF-Dokumente sind dazu gedacht, auf allen Medien identisch auszusehen. HTML-Dokumente sind dazu gedacht, Informationen Plattform- und Systemunabhängig verfügbar zu machen.
  • PDF-Dateien sind von Menschen nicht lesbar, HTML-Dokumente schon. (Bezogen auf Das Dateiformat).
  • Nichtgraphische Anzeige von PDFs ist (meines Wissens) nicht möglich. Bei HTML ist es das.


Das Informationsmodell a la Mitaki

Durch das konsequente Folgen der Grundgedanken und -prinzipien von SGML, XML und HTML war es mir möglich, ein so genanntes Informationsmodell zu erstellen. Dieses Teile ich in vier Ebenen.

Ebene Eins: Die Information

Die erste Ebene besteht aus den Auszeichnungssprachen, die mit Hilfe von SGML und XML erstellt werden. Auch HTML gehört dazu.
Prämisse für diese Sprachen ist, dass die Informationen in menschen- und maschienenlesbarer Form vorliegen.
Dadurch wird garantiert, dass die Informationen universal sind, d.h. Unabhängig vom Betrachter, aber auch unabhängig vom System auf dem sie gespeichert sind.

Speziell auf HTML bezogen ist in dieser Ebene wichtig, dass multimediale Inhalte durch ihre Alternative Erscheinungsform definiert werden. Das bedeutet, statt eines Bildes wird der Alternativtext oder ein Verweis zu einer Langbeschreibung angezeigt. Statt eines eingebetteten Objektes wird dessen Fallback verwendet.

Ebene Zwei: Die Ausgabe der Information

Diese Ebene beschreibt ein Gebiet, dass sich in verschiedene Richtungen abzweigt. Das ist die konsequente Folge der Trennung von Inhalt und Gestaltung.

Die Informationen aus der ersten Ebene werden von einem Parser verarbeitet und an ein Ausgabemedium gesendet. Diese Ausgabemedien können...
  • Informationsbasiert sein, d.h. die Informationen werden für Menschen verständlich, aber kaum Gestaltet ausgegeben. Beispiel: Textbrowser, Suchmaschienencrawler, Braillezeilen oder Sprachausgabe.
  • Graphikbasiert sein, was auf den Großteil der verwendeten Browser zutrifft. Diese Browser sind in der Lage den Großteil aller Stilangaben zu verarbeiten und die Informationen mit vielfältigen Formatierungen auszugeben.
    Außerdem sind diese Ausgabemedien je nach Benutzereinstellung in der Lage, Graphiken oder Medien der dritten und vierten Ebene zu verarbeiten.
Ich selbst zähle nur die Graphikformate PNG, JPEG und GIF zu dieser Ebene. Andere Formate, wie beispielsweise SVG oder MNG könnten in Zukunft in diese Ebene migireren.

Diese Ebene ist der ersten sehr Nah, jedoch ist zu beachten, dass lediglich die in der ersten Ebene gegebene information universal ist, nicht jedoch deren Ausgabe.

Ebene Drei: Verhalten und Interaktivität mit der Information

Diese Ebene ist ganz und gar JavaScript gewidmet. Diese Skripsprache erlaubt es, Informationen um sinnvolle Funktionalität zu erweitern. Bestes Beispiel sind die zahlreichen Diskussionsforen und -boards.

In der Vergangenheit - und auch heute noch - wurde viel Unsinn mit JavaScript angestellt. Zudem wurden einige Sicherheitsrisiken bekannt. Daher sind heute viele Browser ohne JavaScript-Funktionalität (z.B. ausgeschaltetes JavaScript) im Internet unterwegs.

Das ist der Knackpunkt diese Ebene. Die sinnvolle erweiterung von Informationen ist ein sehr mächtigtes Werkzeug, jedoch ist es unbedingt Notwendig, diese Funktionalität bestmöglich auch in alternativer Form verfügbar zu machen. Beispiel: Ein Verweis der Interaktivität mit dem XMLHttpRequest-Objekt aktiviert enthält auch einen Verweis, der die Information bei abgeschaltetem JavaScript verfügbar macht.

Ebene Vier: Multimediale Inhalte

Die letzte Ebene umfasst alles, was in den ersten drei Ebenen nicht enthalten war. Daraus folgt, dass die Bestandteile dieser Ebene, die geringste Chance haben, den Benutzer zu erreichen. Das Begründet sich vor allem durch die Notwendigkeit von Zusatzsoftware oder Plugins für Browser, die benötigt werden.

Bekanntere und unbekanntere Formate: SVG, PDF, MNG, Flash(-Videos), Videoformate.

Anwendung des Modells (Separation der Ebenen)

Wie man sieht, ist die universelle Informationszugänglichkeit nur in der Ersten Ebene gegeben. Daher ist es wichtig, Graphiken und Multimediaobjekte mit entsprechenden Rückfalllösungen auszustatten. Dies gilt natürlich auch für Interaktivität durch JavaScript.

Inwiefern ist dieses Modell nun hilfreich? Wie gesagt müssen die Informationen der Ersten Ebene universal sein. Daher ist beispielsweise das Alternativtextattribut in HTML in allen Varianten Pflicht.

Da heute aber neben der bloßen Information auch das Layout einer Webseite von großer Bedeutung ist (allem Voran das Corporate Design), ist es wichtig die Separation der Ebenen zu vollziehen.

In einem HTML Dokument sollte lediglich die Struktur der Informationen enthalten sein.
Dateien, welche Stilangaben oder JavaScript enthalten sollten sich nicht innerhalb des Dokuments befinden, sondern extern gespeichert werden.

Das hat den Vorteil, dass Ausgabemedien je nach Fähigkeit, Stilangaben, JavaScript oder beides auf das Dokument anwenden. Die nicht benötigten Stilangaben oder JavaScripte werden nicht geladen oder bei Bedarf im Browsercache gespeichert. Erfahrungsgemäß führt dies zu weniger Traffic, weniger Serverbelastung und schnellerem Seitenaufbau beim Besucher.