Mich erreichen regelmäßig E-Mails, in denen gefragt wird, wie man denn am besten eine vorhandene Webseite auf HTML5 umstellt. Besonders oft geht um Fragen der Validierung und um die neuen semantischen Elemente (<section>, <article> und Konsorten). Schließlich sind diese doch nur so schlecht vom Internet Explorer unterstützt und stellen komische Sachen mit den Überschriften an, die es nicht einfach machen, die Struktur der alten Seite 1:1 zu übertragen. Kurz gesagt lautet die Frage immer wieder: was tun beim Webseiten-Umbau? Ich hole an dieser Stelle immer gen die Hype-Bremse aus dem Schrank und behaupte: man kann es auch einfach sein lassen! Es gibt schließlich keine Verpflichtung zum Mithypen und oft existieren noch nicht mal gute Gründe, eine normale, bisher wunderbar funktionierende HTML 4/XHTML 1-Webseite auf HTML5 umzumodeln.

If it ain't broke, don't fix it

Wenn man eine wunderbar funktionierende Webseite hat, die in XHTML 1 oder HTML 4 geschrieben ist, sollte man sich gut überlegen, ob man diese tatsächlich „auf HTML5 umzustellen“ muss. Handelt es sich bei der fraglichen Seite wirklich um eine Webseite, also um ein paar HTML-Dokumente ohne übermäßigen interaktiven Charakter, gewinnt man durch einen Umbau nicht viel. Zwar mögen XHTML 1 und HTML 4 im Moment hypebedingt ein wenig uncool wirken, aber es ist nicht damit zu rechnen, dass es in den nächsten 20 Jahren keine Unterstützung mehr dafür geben wird.

Moderne Webbrowser haben viele Fehler, aber einen Standard halten alle Surfprogramme gleichermaßen ein: unbedingte Abwärtskompatibilität. Die Frage, ob ein Browser irgendwelche neuen Features unterstützt, ist eigentlich ein Luxusproblem. Der mit Abstand schlimmste Bug in einem Browser wäre, wenn er schon bestehende Inhalte des WWW nicht mehr verarbeiten könnte. Niemand würde einen Browser verwenden wollen, der sich der Verarbeitung älterer HTML-Dokumente verweigert, selbst wenn seine Unterstützung für HTML5 und CSS3 noch so großartig wäre. Und so kommt es, dass moderne Browser selbst älteste HTML-Fossilien (in diesem Falle von 1992) noch einwandfrei darstellen. Mit XHTML 1 und HTML 4 oder älter wird es sich die nächsten Jahre und Jahrzehnte genau so verhalten.

Eine Seite umzubauen, nur damit sie HTML5 verwendet, ist also eine ziemlich komische Idee, denn was bisher gut lief, wird auch weiterhin keinen Ärger machen. Stattdessen kann man sich mit einer HTML5-Umstellung sogar zusätzliche Probleme einhandeln.

Hürden und Fallen

Eine Webseite „auf HTML5 umzustellen“ ist allein schon dehalb keine einfache Aufgabe, weil man sich entscheiden muss, wie weit man gehen möchte. Nimmt man einfach sein altes Dokument und tauscht den Doctype aus, so wird man damit sicher keine großen Probleme haben. Wer aber weiter geht, halst sich relativ schnell eine Ansammlung kleinerer und mittlerer Ärgernisse auf.

So hat man zum Beispiel dem Fakt ins Auge zu sehen, dass HTML5 ein „Living Standard“ und damit unfertig ist. In Folge ergeben sich durchaus auch schon mal größere Änderungen. Bestes Beispiel sind die Änderungen am <time>-Element, als das Element innerhalb weniger Tage erst aus dem Standard entfernt und dann wieder eingebaut wurde. In aller Regel sind Änderungen nicht gar so dramatisch wie bei <time>, so dass man dem „Living Standard“ eigentlich recht gelassen gegenübertreten könnte (vor allem wenn man bedenkt, dass kein Ende dieses Zustandes in Sicht ist). Nur wirklich hilfreich ist der ganze Zirkus beim Seitenbau auch nicht, also warum die Eile damit?

Desweiteren gibt es noch das kleine Problem, dass viele Tools noch im XHTML-Zeitalter leben. Enterprisige Frameworks sprechen in aller Regel nur XHTML und manche Editoren kommen noch nicht mit HTML5-Features wie ausgelassenen End-Tags klar. Selbst eigens entwickelte HTML5-Tools haben noch Kinderkrankheiten – der HTML5-Validator weiß zum Beispiel nicht, dass man das &-Zeichen unter einer ganzen Reihe von Bedingungen gar nicht zu escapen braucht. Auch hier gilt: das ist alles nicht dramatisch und selbst im schlimmsten Fall nur mäßig lästig, aber es hilft eben auch nicht wirklich dabei, eine Webseite zu verbessern.

Etwas kräftiger kann man sich schon mit den neuen semantischen Elementen ins Knie schießen. Diese funktionieren bekanntermaßen in den IE6 bis 8 nur, wenn man sie mit JavaScript bearbeitet, aber ob man wirklich die Struktur der Webseite von JavaScript abhängig machen möchte, sollte man sich gut überlegen. In den meisten Fällen dürfte das kein dramatisches Problem darstellen, nur macht der Hack die bisher bestehende Webseite besser? Eher nicht. Hinzu kommt, dass die neuen Elemente die Überschriftenstruktur beeinflussen. Das ist kein Problem, wenn man eine neue Webseite konzipiert, aber eine bestehende Struktur auf HTML5 zu trimmen ist weder einfach, noch besonders sinnvoll – neben den in die neuen Elemente eingebauten WAI-ARIA-Features unterscheidet eine HTML5-Struktur so gut wie nichts von einer herkömmlichen Div-Suppe.

HTML5 bietet natürlich syntaktisch und semantisch so manches Features, das man gern verwenden würde. Wenn man allerdings den endgültigen Nutzen und den zu betreibenden Aufwand vergleicht, ist es vielleicht eine Überlegung wert, die HTML5-Umstellung auf einen Zeitpunkt zu verschieben, an dem man ohnehin alle Templates umbaut.

Wann soll man denn HTML5 verwenden?

Das liest sich jetzt vielleicht so, als wäre pauschal vom HTML5-Einsatz auf Webseiten abzuraten. Ganz so schlimm ist es sicher nicht, es ist nur recht sinnlos, eine gut funktionierende in HTML 4 oder XHTML 1 geschriebene Webseite des Hypes wegen auf HTML5 umzustellen. Anders sieht es aus, wenn man eine neue Seite baut oder aus anderen Gründen größere Umbaumaßnahmen an etwas Bestehendem durchführt. Wenn ohnehin alle Templates überarbeitet oder gar komplett neu geschrieben werden, ist es natürlich anzuraten, den neuesten Standard zu verwenden (wobei man auch hier nicht verpflichtet ist, jedes mögliche Feature einzusetzen).

HTML5 ist primär ein Spielzeug für Webapp-Programmierer. Die paar neuen Bonbons für herkömmliche Webseiten sind nett, aber nicht nicht so großartig, dass man sich darüber umgehend in Arbeit stürzen müsste. Man kann eine Umstellung auf HTML5 also ruhig auf den Zeitpunkt verschieben, an dem sowieso das nächste Redesign ansteht.

Meine Tipps bis dahin:

  1. Locker bleiben! Nur weil das halbe Internet und der Chef meinen, man müsste jetzt unbedingt aktionistisch werden, ist das noch lange nicht richtig. Entspannt Aufwand und Nutzen abzuwägen ist nicht nur in Sachen HTML5 eine empfehlenswerte Grundhaltung.
  2. Planen! Hat man es geschafft den Hype für den Moment abzuwehren, kann man natürlich für die Zukunft planen. Irgendwann steht der Wechsel auf HTML5 mit Sicherheit an, also sollte man sich der Sache nicht ganz verschließen. Ausprobieren, Lesen, Planen und Gedanken machen sind nie verkehrt.
  3. WAI-ARIA lernen! Die fest in die neuen Elemente eingebauten ARIA-Eigenschaften sind mit das größte Plus von semantischem HTML5. Allerdings kann man diese erstens auch manuell in ältere (X)HTML-Dokumente einbauen und zweitens muss man sich als HTML5-Autor ohnehin damit auskennen. Also: lesen!