Gunnar Bittersmann: Mobiler Browser und einfaches HTML

Beitrag lesen

@@Alexander (HH):

nuqneH

Die Doctype-Angabe ist ein Hinweis, dass sich der HTML-Erzeuger (Mensch/Maschine) an die HTML-Spielregeln halten will und keine 1990er-Tagsuppe abliefert. <!DOCTYPE html> insbesondere zeigt an, dass ich sauberes, modernes HTML5 nutzen will.

Nein.

Die DOCTYPE-Angabe hatte ursprünglich zwei Funktionen:
1. die Version der verwendeten Markupsprache anzugeben, optional auch deren Regeln
2. (in XML) die Regeln im Dokument anzugeben bzw. bestehende Regeln zu ergänzen.

Bei HTML5 (jetzt auch HTML genannt) gibt es keine Angabe der Version im DOCTYPE. Soll auch gar nicht, weil es (nach dem Willen der WHATWG) gar keine Versionen von HTML5 geben soll.

Auch die werden keine Referenzen zu den Regeln der Sprache angegeben, bei <!DOCTYPE html> gibt es weder public identifier noch system identifier. Von „Hinweis auf HTML-Spielregeln“ kann also überhaupt keine Rede sein.

Dummerweise verbietet die HTML5-Spec selbst bei XHTML5 die Erweiterung, bspw. durch selbst definierte Entities.

Die DOCTYPE-Angabe erfüllt also genau gar keine ihrer Funktionen.

Das einzige, wozu sie dient, ist als Schalter Quirksmodus aus/ein. Weil irgendwer in grauer Vergangenheit mal dachte, es wäre eine gute Idee, sie dazu zu missbrauchen.

Eine meta-Angabe wäre dazu besser geeignet gewesen.

Wie sie eben für 960px-Breite aus/ein verwendet wird.

Wobei aus Gründen der Abwärtskompatibilität das Fehlen einer Angabe als „ein“ gewertet wird.

Willst du „aus“ (also „modern“), musst du das eben explizit angeben.

Qapla'

--
„Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)