Benutzbarkeit von HTML5-Elementen, aktueller Stand
Anzeige Hier werben
Viele der Elemente von HTML 5 wären auch für aktuelle Seiten interessant. Die Elemente zur Seiteneinteilung (<header>, <nav>, <article>) beispielsweise könnten schon jetzt als Ersatz für <div>-Blöcke mit entsprechender Klasse eingesetzt werden. Zusätzliche Elemente zur sauberen Formatierung von Texten (wie <figure>) können außerdem die Notwendigkeit eigener Kreationen nehmen oder zumindest als Vorlage dienen. Grundsätzlich ist die Unterstützung für die neuen Elemente bisher aber noch von keinem Browser wirklich gegeben, auch wenn daran gearbeitet wird.
Welche Elemente können überhaupt verwendet werden
Natürlich können ohne Browser-Unterstützung nur Elemente verwendet werden, die sich rein per CSS so umformatieren lassen, dass sie die gewünschte Funktion auch grafisch wiedergeben. Das ist bei einigen Elementen wie <audio>/<video> natürlich unmöglich, weshalb hier weiterhin <object> verwendet werden muss. Auch <meter>, <source> und <progress> können nicht ohne weiteres verwendet werden, da hier spezielle Unterstützung durch die Browser notwendig ist. Allein <canvas> hat schon Einzug in einige Browser gehalten.
Andere Elemente spiegeln nur die Struktur des Dokuments wieder (<header>, <section>, <article>, <figure>, ...). Diese Elemente benötigen teilweise keine besondere Formatierung. In HTML5 sind die Elemente als Block-Level-Elemente angelegt, was sich per CSS leicht nachrüsten lässt. Erst wenn kompliziertere Formatierung (Positionierung, Hintergrundbilder für <header>, ...) ins Spiel kommt müssen diese Elemente wirklich im Detail per CSS anpassbar sein.
Unbekannte Elemente, was macht der Browser?
Die meisten HTML5-Elemente sind für Browser bisher unbekannt. Je nach Browser kann es deswegen zu Fehlinterpretationen der Elemente kommen oder einige Dinge nicht funktionieren.
Firefox
Firefox 2 hat Probleme mit HTML5-Block-Level-Elementen, die weitere Block-Level-Elemente enthalten. So wird folgender Code nicht funktionieren:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <!DOCTYPE html>
<html>
<head>
<style type="text/css">
article { background-color: red; display: block; min-height: 10px; }
</style>
</head>
<body>
<article>
<h1>Artikeltitel</h1>
<p>Artikeltext</p>
</article>
</body>
</html>
|
Firefox wird hier <article> intern vor dem <h1> wieder schließen, da das Element Block-Level-Elemente enthält. Im Live-DOM-Viewer kann man den Quelltext leicht variieren und den Fehler beobachten.
Im Firefox3 ist dieses Problem nun gelöst.
Der Fehler tritt nicht auf, wenn XHTML5 ausgeliefert wird, sprich mit dem MIME-Type application/xhtml+xml sind auch diese Elemente im Firefox nutzbar. Allerdings verhindert dieser MIME-Type die korrekte Funktionsweise im Internet Explorer, dieser bietet dann einen Download-Dialog an, die Seite ist hier also unbenutzbar.
Internet Explorer
Der Internet Explorer hat keine Probleme mit fremden Elementen, allerdings lassen sie sich nicht per CSS formatieren. Durch einen Zufall wurde von Sjoerd Visscher eine Ausnahme zu dieser Einschränkung entdeckt. Erstellt man per Javascript ein Element, so ist dieses per CSS formatierbar. Gleichzeitig werden alle Elemente des gleichen Typs formatierbar, unabhängig davon, ob das erstelle Element jemals in den DOM-Baum eingebunden wurde.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <!DOCTYPE html>
<html>
<head>
<style type="text/css">
article { background-color: red; display: block; }
</style>
<script type="text/javascript">
/* Ohne dieses Script ist das Element "article" nicht formatierbar */
document.createElement('article');
</script>
</head>
<body>
<article>
<h1>Artikeltitel</h1>
<p>Artikeltext</p>
</article>
</body>
</html>
|
Der nötige Javascript-Code lässt sich einfach über Conditional Comments einbinden.
Opera/Safari/...
Keine Probleme/Sonderheiten bekannt.
Fazit
Obwohl HTML5 selbst noch nicht fertig ist lassen sich einige Elemente bereits jetzt einsetzen. Hierbei muss allerdings auf Browser-Unterschiede geachtet werden. Damit die Seite auf allen Browsern funktioniert müssen aber derzeit wohl noch serverseitige Browserweichen (MIME-Type) oder clientseitige Workarounds (Elemente im IE) nötig.
Die Verwendung von HTML5-Elementen bleibt somit wohl bis auf weiteres privaten Webseiten oder Testseiten vorbehalten. Von einem produktiven HTML5-Einsatz ist derzeit noch abzuraten. Problematisch können die Elemente später werden, falls sie eine Standardformatierung bekommen, die vom eingesetzten CSS abweicht.
Diese Seite kann von jedem registrierten Benutzer bearbeitet werden. Bisher haben 4 Personen an der Seite "Benutzbarkeit von HTML5-Elementen, aktueller Stand" mitgewirkt.
Sie haben einen Fehler entdeckt oder möchten etwas ergänzen? Dann können Sie nach der Anmeldung "Benutzbarkeit von HTML5-Elementen, aktueller Stand" hier bearbeiten.
-
David Danier arbeitet seit mehr als neun Jahren im Bereich Web Programmierung und ist unter anderem Geschäftsführer der Webagentur Team23 GbR, sowie Webmasterpro.de.
-
arbeitet seit längerem als Webdesigner und vor allem -entwickler. Er ist Webmaster von Webmasterpro.de und leitet den Flashcounter-Service.
-
hat keine Beschreibung angegeben. Eine Beschreibung kann man unter dem Punkt "Profil bearbeiten" im Kontrollzentrum eintragen.
-
graphic, motion & web design - kernreaktor - staportal - mukitu


Sehr interessant
Das Problem mit den nicht stylebaren Elemente kannte ich, den Workaround nicht.
Eine weiter idee wäre es namespaces zu verwenden, dann kann man auch unbekannte im IE Elemente stylen.