Über zusätzlichen xmlns:
Hier hab ich erst ein Verständnisproblem. Warum wird als Namespace http://www.w3.org/1999/xhtml angegeben?
Das ist der XHTML-Namensraum.
Man muss ihn wie gesagt nicht angeben, damit der Hack im IE klappt. Man gibt ihn an, damit das Element trotz des Namensraum-Präfixes ebenfalls zum HTML-Namensraum gezählt wird in dem hypothetischen Fall, wenn das Dokument von einem XML-Parser verarbeitet wird. Das ist aber üblicherweise nicht der Fall, dazu müsste man das Dokument als application/xhtml+xml anstatt text/html an den Browser ausliefern.
Erstens bekomme ich da keine .xsd oder .dtd wie ich erwartet hätte
Eine Namensraum-Angabe ist eine beliebige URI. Hinter dieser URI muss nichts stecken. Sie muss nur ein eindeutiger Bezeichner sein. Dass es hier eine HTTP-URI ist, ist purer Zufall. Es hätte auch beispielsweise eine Tag-URI sein können. Diese URI hat nicht notwendigerweise etwas mit einer maschinenlesbaren Grammatik zu tun.
So wie ich das sehe funktioniert das sowieso nur weil sich der IE nicht darum schert was da angegeben ist?
Ja, richtig.
- es ist kein HTML5, sonder XHTML -> eigentlich Semantik der HTML5-Tags geht verloren.
XHTML5 definiert sich (wie gesagt) dadurch, dass es als XML deklariert und verarbeitet wird. In dem Fall würde die Semantik erkannt, weil das Element dem XHTML-Namensraum zugehörig ist. Im Falle von normaler HTML5-Verarbeitung wird das Element jedoch nicht als HTML erkannt.
(Wenn ich das oben erwähnte richtig verstehe besteht dieses Problem nur weil man als Namespace den XHTML-Namespace angibt?)
Nein. Was man da angibt, ist für den IE ohne Belang. Und für HTML-Tagsoup- sowie für HTML5-konforme Parser ebenfalls.
Gibt es noch andere Möglichkeiten HTML5 im IE zu ermöglichen?
Keine praktikablen.
Würdet ihr mit Hilfe einer der genannten Möglichkeiten in Erwägung ziehen HTML5 bei einem Projekt einzusetzen?
Kommt darauf an, wie wichtig in dem jeweiligen Fall eine Abwärtskompatibilität zu Internet Explorern ohne JavaScript ist. In manchen Fällen sind alte IEs mit deaktiviertem JavaScript z.B. aus Firmennetzen relevant, in anderen vernachlässigbar. Das heißt: Wieviele IEs ohne JavaScript frequentieren die Site und wie sieht die Site aus, wenn die HTML5-Elemente falsch geparst werden?
HTML5-Textauszeichnung ist erst einmal ein sehr gutes Feature einer Website, das sie zugänglicher machen kann und die maschinelle Verarbeitung verbessert. Man muss abwägen, ob man diesen Feature Benutzern mit neueren Browsern vorenthält, nur weil es alte (sowieso technisch hoffnungslos veraltete) Internet Explorer gibt, bei denen zudem die Möglichkeit verbaut ist, seine Lücken zu stopfen, indem JavaScript deaktiviert ist. Wer mit dieser Kombination im Jahr 2011 die volle Web-Experience fordert, den kann man m.M.n. getrost ignorieren.
Mathias