Fast niemand. HTML5 wird von keinem Browser aktiv unterstützt, es geht im Moment nur nichts kaputt1. Das ist eine tolle Sache, eignet es sich doch für Experimente wie diese Seite hier oder für das ein oder andere Experiment zum Beispiel mit den audio und video-Elementen.

Alle, die nicht experimentieren wollen oder können, zum Beispiel bei Projekten für Kunden oder den Arbeitgeber, sollten HTML5-Features nur ganz, ganz sparsam einsetzen und nur Teile, die sicher2 sind (Es folgt eine Auflistung).

  • <!DOCTYPE html>
  • style und script-Elemente ohne type-Attribut

Alle anderen Dinge haben in aktuelleren Browsern die eine oder andere Nebenwirkung oder funktionieren nicht. Wer sich mit der Semantik der neuen Elemente auseinandersetzen will (article usw.), der möge auf divs mit Klassen zurückgreifen, die zuverlässig funktionieren. (Außerdem empfehle ich durchgehend XML-Syntax.)

Übrigens wird gerade extrem in der Spezifikation ausgemistet und gearbeitet, sie soll nämlich im Oktober als Candidate Recommendation erscheinen. Da kann sich also noch einiges ändern. Eines der letzten Opfer beispielsweise ist das datalist-Attribut.

1 Außer im IE und im Firefox < 3, da geht’s kaputt.

2 Im Sinn von „ohne JavaScript in Browsern funktionieren“

15 thoughts on “Wer heute schon HTML5 einsetzen sollte

  1. Das nenne ich einen hilfreichen Blogbeitrag. Da werde ich mich doch mal mit den HTML5-Features, die schon frei von Nebenwirkungen sein sollen sowie mit der passenden Benennung von DIVs beschäftigen.
    Danke!

  2. Danke für diese wichtige Klarstellung. HTML5 ist noch in der Diskussionsphase, ist noch im Entstehen. Der Hype, der darum gerade entsteht, zeigt in meinen Augen aber deutlich, daß es einen sehr starken Bedarf nach etwas Besserem, als HTML4/XHTML1 gibt.Deshalb ist es veständlich, daß möglichst jeder ausprobieren will, was geht. Neben recht albernen Byte-Sparmaßnahmen durch die kürzere DTD kann man nicht viel heute wirklich bei Kundenprojekten nutzen. Also wird sich alles auf Blogs und kleinere Seiten konzentrieren. Damit haben wir schon kleine Praxistests, ohne daß es jemandem weh tut. Das finde ich gut.

  3. Klare Ansage, danke.

    Ich teile Deine Einschätzung: Wer HTML5 für eine möglichst große Zahl an Nutzern einsetzen will, sollte definitiv warten, und das wohl noch lange. Nur den Doctype zu ändern und auf ein type-Attribut zu verzichten, um zu sagen, es ist HTML 5, das macht angesichts der tatsächlich neuen und logischen Elemente in meinen Augen eigentlich keinen Sinn.

    Das gilt nicht für Experimente in Form von Blogs und Webseiten, die nachweislich nur von Webentwicklern oder Nutzern mit modernsten Browsern betrachtet werden, wenn dieser Nachweis überhaupt so klar definiert werden kann. Hier kann man – wie deine eigene Seite zeigt – ruhig etwas wagen. So gesehen, ist HTML5 nicht praxistauglicher, als die ersten CSS 2-Experimente von csszengarden vor einigen Jahren: spannend, neu – aber nix für die Massen.

  4. Darüberhinaus bin ich geneigt, gerne mal einen Anchor als block-level Element einzusetzen, was in HTML5 erlaubt ist. Das ist öfters gewünscht und sehr praktisch: <a> <h2>Titel</h2> <img /> <p>Text</p> </a>

    Oder Geolocation, wobei das aus HTML5 ausgegliedert wurde und wunderbar mit Progressive Enhancement funktioniert.

  5. @Martin: Ja, wenn es denn funktionieren würde :/ Zitat Eric Meyer:

    “What I didn’t want, though, was the randomized layout weirdness that resulted once I started styling the descendants of the link. Sometimes everything would lay out properly, and other times the bits and pieces were all over the place. I could (randomly) flip back and forth between the two just by repeatedly hitting reload. I thought maybe it was the heading elements that were causing problems, so I converted them all to classed paragraphs. Nope, same problems. So I converted them all to classed spans and that solved the problem. The layout became steady and stable.”

    @Michel: Meine Erfahrung zeigt leider, dass Browser das doch gerne noch ignorieren. Und online schickt man ja eh das Charset mit dem Server…

  6. Übrigens, wenn man xhtml verwendet, und die Klassennamen der divs (und anderer Elemente) passend wählt, kann man später ein einfaches xsl Stylesheet auf die Seiten anwenden und erhält html 5.

  7. Prima! (grrr) Habe ich doch kürzlich in einem eigenen Blogeintrag die Verwendung von HTML5 propagiert :) Aber es stimmt was Du sagst. Der Einsatzzweck sollte differenziert analysiert werden und bei prinzipiell “wichtigen” Webseiten für Kunden oder Arbeitgeber hört der Spass auf.

    Dennoch halte ich an meinen Argumenten fest: Je mehr Entwickler sich bei sideprojects und kleineren Experimenten oder privaten Seiten mit dem Thema HTML5 auseinandersetzen, umso grösser wird das Feedback, umso facettenreicher wird der Erfahrungsaustausch und umso stärker wird die Notwendigkeit für eine stetige Weiterentwicklung für – sowohl – Browserhersteller, als auch das HTML5-Team. Das sollte bei Deiner “professionellen” Betrachtungsweise nicht vernachlässigt werden.

  8. Wieso empfiehlst du XML-Syntax? Optional tags gibt’s ja z. B. auch schon in HTML 4, hat ja weniger was mit HTML 5 zu tun, oder täusch ich mich da?

  9. Einige der neuen Input-Typen kann man heute schon verwenden. Browser, die das nicht verstehen, verwenden automatisch type=“text”. Auch die meisten anderen Attribute sind schlimmstenfalls wirkungslos und daher schon jetzt einsetzbar: maxlength, pattern und step beispielsweise.

    Eric, welcher Browser versteht denn die kurze Charset-Angabe nicht?

  10. Seiten, die als xhmtl ausgeliefert werden, erlauben auch Inline-SVG. Durch die immer bessere SVG-Darstellung in den Browsern ergeben sich dadurch Möglichkeiten, die HTML5 so bisher nicht bietet.

  11. @Oliver: Ja, man muss das differenziert von Fall zu Fall sehen. Und ja: Experimentieren ist erlaubt.

    @Francesco: Aus Konsistenzgründen. Tags weglassen usw. empfehle ich wirklich nur Leuten, die sich der Nebenwirkungen bewusst sind. Ich selbst lasse nur die selbst-schließenden Elemente ohne abschließenden Slash, also <img>, <meta> usw.

    @Tomas: Eigentlich gehen die Input-Typen nur im Opera, das reicht mir (noch) nicht um mich wirklich damit auseinander zu setzen. Das ich das mit dem @<meta>@ jetzt nicht mehr nachvollziehen kann ist ja auch klar. Ich werd das weiter untersuchen müssen.

    @Andreas: HTML5 erlaubt inline-SVG ebenfalls, wenn ich mich recht erinnere. Hilft aber nix, der IE kann weder XHTML5 noch SVG.

  12. @Eric: Safari kann immerhin type=“search” und type=“range”, und in Opera empfinde ich die neuen Typen als echte Hilfe. Insofern: Man kann sie durchaus jetzt schon einsetzen.

  13. Heutzutage benutz’ ich:

    • HTML 5 doctype,
    • meta charset=“utf-8”,
    • style und script ohne type,
    • Klassen nach HTML5-Elementen genannt,
    • input type=“search”

    …und das war’s.

    Die HTML5-Klassen find’ ich besonders hilfreich als Vorbereitung fuer den Tag, an dem die Spezifikation fertig ist.

Comments are closed.