Daniel.S: HTML5 heute?

Beitrag lesen

Grüße dich, dave,

wie seht ihr jetzt eigentlich konkret die Verwendungsmöglichkeit von HTML5.

Es gibt ein paar wenige Dinge, die in HTML5 definiert werden und schon jetzt benutzt werden können, z.B. audio- und video-Elemente (wobei die dank des Codes-Streits eher einer Todgeburt gleichen), das canvas-Element (scheint sehr beliebt zu sein)...

Mehr fällt mir ehrlichgesagt nicht ein. Klar, es gibt einiges, dass man schon kennt und auch verwenden kann. Aber neue Elemente, Attribute und sontiges besitzen noch keine semantische Bedetung. Die gewinnt HTML5 erst wenn es halbwegs fertig wird.

Hier geht man davon aus das JS aktiviert ist, unschön.

Unschön ja, aber praktisch. Davon abgesehen besitzen diese Elemente aktuell noch keine semantische Bedeutung. Soweit ich weis, werden aber z.B. im Firefox 4 den Elementen bestimmte ARIA-Bedeutungen hinzugefügt. Wenn, dann also so.

Conditional Comments in der Art:

<!--[if lte IE 8]><div class="article"><![endif]-->

<!--[if gt IE 8]><!--><article class="article"><!--<![endif]-->
    foo
<!--[if lte IE 8]></div><![endif]-->
<!--[if gt IE 8]><!--></article><!--<![endif]-->


>   
> Styling dann eben über `.article`{:.language-css} anstelle von `article`{:.language-css}.  
  
Div-Suppe schmeckt eindeutig besser.  
  

> Über [zusätzlichen xmlns](http://forum.de.selfhtml.org/archiv/2010/12/t202408/):  
> Hier hab ich erst ein Verständnisproblem. Warum wird als Namespace http://www.w3.org/1999/xhtml angegeben? Erstens bekomme ich da keine .xsd oder .dtd wie ich erwartet hätte und zweitens hört sich diese Definition nach xhtml und nicht nach html5 an?  
> So wie ich das sehe funktioniert das sowieso nur weil sich der IE nicht darum schert was da angegeben ist?  
  
Hier wird ausgenutzt, dass der IE eine ganz eigene, völlig vermurkste Vorstellung von Namensräumen besitzt.  
  
Der XHTML-Namensraum wird angegeben, weil HTML-Elemente diesem angehören. Allerdings könnte der Namensraum auch kuddeldimuddel heißen. Es wäre das selbe Ergebnis. Der Namensraum hat keine Bedeutung in diesem Trick. Bei dem Code handelt es sich weder um HTML(5) noch um XHTML.  
  
Vorwärtskompatibel ist das leider auch nicht, die so erstellten Elemente sind keine HTML(5)-Elemente sondern generische, bedeutungslose Elemente.  
  
Was das Schreiben von HTML anbelangt ist HTML4 im Moment einfach noch die beste Wahl.  
  

> - es ist kein HTML5, sonder XHTML -> eigentlich Semantik der HTML5-Tags geht verloren. (Wenn ich das oben erwähnte richtig verstehe besteht dieses Problem nur weil man als Namespace den XHTML-Namespace angibt?)  
  
Es ist kein XHTML, es ist ein IE-Hack. XHTML definiert sich durch den Medientyp application/xhtml+xml, durch nichts anderes. Alles was nicht XHTML oder XML ist, ist HTML.  
  
HTML-Elemente verlieren beim Wechsel zwischen HTML und XHTML nicht ihre Bedeutung.  
  

> Gibt es noch andere Möglichkeiten HTML5 im IE zu ermöglichen?  
  
Der Parser im IE9 wurde etwas bearbeitet, so dass er die neuen Elemente nicht mehr schließt. Damit musst du vorerst glücklich werden.  
  

> Würdet ihr mit Hilfe einer der genannten Möglichkeiten in Erwägung ziehen HTML5 bei einem Projekt einzusetzen?  
  
Nein. HTML 4.01 (gefälligst Strict, aber mit stabilen Zusätzen wie etwa dem canvas-Element) ist die erste Wahl. Das empfehlen nebenbei auch HTML5-Enthusiasten wie Henri Sivonen[1]. Bei manchen HTML5-Elementen ist ja noch nichtmal klar, ob sie erhalten bleiben.  
  

> Falls nicht müsste man auf HTML5 wohl verzichten bis der Support für WinXP ausläuft (IE9 erscheint afaik nur für WinVista+)?  
  
Ja, die nächsten 3 bis 4 Jahre darfst du sicher noch warten. Bis dahin gibts auch die ersten Browser mit einem HTML-Parser wie er von HTML5 definiert wird (Firefox 4 und Safari 6 dürften das sein).  
  
Das wird eine Bewährungsprobe für HTML5: Es zeigt sich ob dadurch Schaden oder Nutzen entsteht. Faher bin ich schon darauf gespannt.  
  
gruß, Daniel  
  
[1] http://hsivonen.iki.fi/doctype/#choosing  
Inzwischen scheint er etwas von seiner Meinung abgeweicht zu sein.