HTML5 statt XHTML nutzen

27. Jul 2010

Sie können wahlweise HTML5 oder XHTML nutzen, um Ihre Seiten auszulieferen. Dazu sind nur geringe Anpassungen in der Steuerungsdatei notwendig.

Immer öfters werde ich gefragt, ob man auch HTML5 nutzen kann und wenn ja, was man machen muss, um die Seiten in HTML5 auszuliefern. Wie einfach das geht, zeige ich Ihnen in diesem Artikel.

Warum überhaupt HTML5?

Das ist meist meine erste Frage an den Entwickler. Die Antworten reichen meist von "Der Kunde will es!" bis "Ist doch besser oder?". HTML5 wäre eigentlich besser, ist es leider aber nicht, da selbst der Internet Explorer 8 die wirklich sinnvollen HTML5 Tags nicht unterstützt.

Wenn wir uns mal vor Augen führen, dass immer noch fast 10% der Nutzer mit dem jetzt fast 9 Jahre alten Internet Explorer 6 unterwegs sind, lässt sich erahnen, wann HTML5 in der Praxis angekommen sein wird.

Die Vorteile von HTML5

Die Vorteile von HTML5 sind vielfältig. Im Einzelnen sind das:

  • Semantische Auszeichnung von Inhaltsbereichen z.B. über nav, article, aside oder footer
  • Multimediale Elemente wie z.B. canvas oder video
  • Erweiterte Formularelemente wie z.B. input type="date"
  • HTML4 Elemente funktionieren weiterhin

Die Nachteile von HTML5

Grundsätzlich sind die neuen Funktionen in HTML5 als sinnvolle Weiterentwicklungen zu begrüßen. Dass HTML5 noch kein W3C Standard ist, ist unerheblich, bedeutender ist die derzeit fehlende Unterstützung durch den Internet Explorer.

HTML5 und Weblication in der Praxis

Auch wenn Sie die wirklich innovativen Möglichkeiten HTML5 wohl kaum in Kundenprojekten umsetzen können, so lässt sich bereits jetzt HTML5 im XHTML Umfang risikolos einsetzen.

Im Folgenden habe ich Ihnen eine angepasste pre.php Steuerungsdatei, die alle Anpassungen an HTML5 übernimmt, so dass Sie Ihr Projekt schnell mal auf HTML5 umstellen können.

Folgende Anpassungen werden darin gemacht:

  1. UTF-8 wird im HTTP-Header gesendet
  2. Doctype wird auf HTML gesetzt
  3. XHTML-Namensraum wird gefiltert
  4. Sonderzeichen in Bild-URLs werden URL-kodiert

Quelltext der pre.php, um HTML5 zu erzeugen

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// //
// Diese Datei steuert die Ausgabe der Seiten //
// //
// Änderungen in dieser Datei wirken sich auf die gesamte Präsentation aus! //
// //
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////

ob_start("ob_gzhandler");

header('Content-Type: text/html; charset=utf-8');

require_once(
$_SERVER["DOCUMENT_ROOT"]."/weblication/grid5/framework/php/wSession.php");

// Variablen zur Steuerung der Ausgabe
$preVars = array('outputType' => 'var', 'viewMode' => wRequest::getParameter('viewmode'), 'viewTemplate' => '', 'docType' => '<!DOCTYPE html>', 'debugType' => '');

include(
$_SERVER["DOCUMENT_ROOT"]."/weblication/grid5/default/project/wGlobal/scripts/pre.php");

$preResult = str_replace('', '', $preResult);
$preResult = preg_replace("/\[([^\]]+)\]\.(png|gif|jpg)/", "%5b$1%5d.$2", $preResult);

print
$preResult;