Gibt es einen Grund, den HTML 5-Doctype nicht zu verwenden? [geschlossen]


132

Es soll abwärtskompatibel mit HTML4 und XHTML sein. John Resig berichtete über einige der Vorteile .

Wenn wir keine der neuen und noch nicht unterstützten Funktionen verwenden, gibt es dann einen Nachteil, wenn Sie mit dem Erstellen von Websites mit diesem Doctype beginnen?


1
Ich schließe, weil es zu der Zeit ein berechtigtes Anliegen war, aber das Leben weitergegangen ist und HTML5 jetzt hier ist, um zu bleiben. Es zieht auch Flaggen an, weil viele der Antworten eher Meinungen als Tatsachen sind.
Kev

Antworten:


143

Bedenken Sie Folgendes:

Wenn Sie als Text / HTML dienen, benötigen Sie lediglich einen Doctype, um den Standardmodus auszulösen. Darüber hinaus macht der Doctype in Bezug auf Browser nichts.

Wenn Sie als Text / HTML dienen, wird es von Browsern als HTML behandelt, unabhängig davon, ob Sie XHTML-Markup oder HTML-Markup verwenden.

Es kommt also wirklich darauf an, den kürzesten Doctype zu verwenden, der den Standardmodus auslöst (<! DOCTYPE html>), und HTML-Markup zu verwenden, das in Browsern das richtige Ergebnis liefert.

Der Rest dreht sich um Konformität, Validierung und Markup-Präferenz.

Vor diesem Hintergrund ist es keine schlechte Idee, jetzt <! DOCTYPE html> zu verwenden und zu versuchen, Ihr Markup an HTML5 anzupassen, solange Sie sich an stabile Funktionen halten, die jetzt in Browsern funktionieren. Sie würden in HTML4 oder XHTML 1.x nichts verwenden, was in Browsern nicht funktioniert, oder?

Mit anderen Worten, Sie verwenden <! DOCTYPE html> mit HTML4-ähnlichem Markup, während Sie Dinge berücksichtigen, die in HTML5 geklärt wurden. Bei HTML5 geht es schließlich um Browserkompatibilität.

Der Nachteil bei der Verwendung von HTML5 ist jetzt, dass sich die Spezifikation ziemlich oft ändern kann. Aus diesem Grund ist es wichtig, dass Sie mit der Spezifikation Schritt halten, da sie sich aktiv ändert. Auch http://validator.nu/ ist möglicherweise nicht immer auf dem neuesten Stand, aber http://validator.w3.org/ ist auch nicht immer auf dem neuesten Stand. Lassen Sie sich also nicht davon abhalten.

Wenn Sie das XHTML 1.0-Markup verwenden und XHTML 1.0 entsprechen möchten, sollten Sie natürlich nicht <! DOCTYPE html> verwenden.

Persönlich verwende ich immer <! DOCTYPE html> für HTML.


4
Ich dachte, dass das Weglassen des URI die Browser in den Mackenmodus versetzt und das Arbeiten nach Standards zu einer vergeblichen Anstrengung macht.
Graham.reeds

5
Warum können Sie XHTML 1.0-Markup nicht als <! DOCTYPE html> verwenden? Ich dachte das wäre der Punkt!
Skilldrick

2
Skilldrick, Sie können ja polyglotte Dokumente schreiben. stackoverflow.com/questions/1079427/what-is-a-polyglot-document
Shadow2531

5
"Ich dachte, dass das Weglassen des URI die Browser in den Mackenmodus versetzt" - Nein. Ein großer Teil der Arbeit an HTML5 war Ian Hickson, der unermüdlich viele häufig verwendete Browser testete, um zu sehen, was und wie funktionierte. Der HTML5-Doctype löst den Standardmodus in (glaube ich) allen Browsern aus, die so etwas haben.
Paul D. Waite

23
Wenn es hilft, habe ich gerade <! DOCTYPE html> in IE8, IE7 (mit IE8-Entwicklungstools) und IE6 (mit Virtual PC) getestet. Keiner von ihnen ging in den Mackenmodus. Selbst der alte IE kann also definitiv mit dem Standard-HTML5-Doctype umgehen, ohne in den Mackenmodus zu wechseln.
Syntaxfehler

3

Meine Frage an Sie wäre, warum Sie es verwenden, wenn Sie keine der neuen / nicht unterstützten Funktionen verwenden. Ich sage nicht, dass Sie nicht damit herumspielen konnten, aber warum sollten Sie Websites mit einem Doctype erstellen, der keine Vorteile bietet und durch XHTML5 ergänzt werden könnte?


3
"Warum es verwenden, wenn Sie keine der neuen / nicht unterstützten Funktionen verwenden" - weil es kürzer und leichter zu merken ist? Natürlich keine große Sache, aber trotzdem.
Paul D. Waite

Ja, aber wäre das nicht XHTML 1.2 oder XHTML 2.0? ;)
Talvi Watia

1
HTML5 ist 'XHTML5'. Das W3C hat die Entwicklung von 'X'HTML eingestellt.
Chris Harrison

Nicht wirklich. XHTML5 und HTML5 sind zwei verschiedene Markup-Darstellungen (Serialisierungen) der HTML-Sprache. Ersteres basiert auf XML, und letzteres ist ein eindeutiger Dialekt (mit spezieller Parsing-Semantik) von SGML.
Delan Azabani

2

Ich würde sagen, benutze es und teste es ausgiebig. Dann lassen Sie uns wissen, ob es Ihr Haus in die Luft gesprengt hat oder so. : ')


2

Basierend auf der neuesten IE8-Beta scheint es, dass MS den HTML5-Doctype als Bypass für den IE8-Modus-Switching-Sumpf verwenden wird. Es scheint, dass das größte Risiko bei der frühzeitigen Bereitstellung des HTML5-Doctype darin besteht, dass MS möglicherweise kalte Füße bekommt, wenn Benutzer vor der Auslieferung von IE8 viele IE8-inkompatible Inhalte mit dem HTML5-Doctype veröffentlichen, um die Modus-Situation für HTML5 zu vereinfachen.

Update: Dies wurde anscheinend abgelehnt. Ganz offensichtlich gilt die obige Überlegung jetzt, da IE8 ausgeliefert wurde, nicht mehr. In der Tat ist die Situation mit IE8 nicht einfach .


2

Der Nachteil für mich betrifft hauptsächlich die Validierung:

  1. Validierungswerkzeuge von Drittanbietern halten nicht immer mit den sich ändernden Spezifikationen Schritt, was meine Lieblingswerkzeuge unzuverlässig macht.
  2. Ich bevorzuge die Validierung anhand strenger Doctypes, um sicherzustellen, dass ich alle Elemente geschlossen habe. Dies ist eine einfache Möglichkeit, einfache, aber zeitaufwändige Verschachtelungsfehler zu vermeiden. Mit HTML 5 müssen Sie Ihre Elemente nicht schließen, sodass nicht übereinstimmende Tags nicht gefunden werden können.

Das ist wahr, weshalb Sie nach einem HTML- Flusenprüfer suchen möchten: lint.brihten.com/html/help anstelle einfach des Validators.
Kzqai

1

Wenn Sie den Doctype verwenden möchten, experimentieren Sie mit den Funktionen. Solange sie nicht in eine Produktionsstätte gehen und Sie sie gründlich testen, haben Sie es.


1

Berücksichtigen Sie Ihr Publikum und Ihre Bedürfnisse. Ich schreibe Seiten wie Klassentests mit einer Zielgruppe von Studenten in meinen Kursen, die FireFox 3 in einem mit Ubuntu ausgestatteten Computerlabor verwenden. Ich benötige SVG mit MathMl, das als fremdes Objekt in das SVG eingebettet ist. Ich benutze den HTML5-Doctype und neue HTML5-Tags frei.



0

Für alle, die das finden. Die Tabelle unter http://hsivonen.iki.fi/doctype/zeigt die verschiedenen Rendering-Modi, die verschiedene Browser abhängig von der verwendeten DOCTYPE-Deklaration verwenden. Sie erhalten eine gute Vorstellung davon, wie die DOCTYPE-Umschaltung funktioniert.


-16

Persönlich würde ich nein sagen. HTML5 hat keinen klaren Vorteil und würde sogar sagen, dass das Ganze von Anfang an verpfuscht ist.

Es ist ein großer Fehler, spezielle Tags für Kopf-, Fuß- und Seitenleisten zu haben - Sie haben sie bereits in Form von Tags (div) und Namen (Klassen / IDs). Warum brauchen wir die Spezialisten? XHTML1.1 ist gut genug, Punkt. Da die meisten Browser HTML4 nicht richtig unterstützen, macht es wenig Sinn, einen Doctype zu verwenden, dessen ordnungsgemäße Unterstützung Jahre dauern wird.


10
Es geht um Semantik. Sie könnten fast jedes einzelne Tag in HTML entfernen und nur die Attribute div, span und style / class verwenden. Sie entfernen jedoch den gesamten semantischen Wert aus dem Dokument.
Laurent

2
Denken Sie nur daran, wie nützlich es für Suchmaschinen sein wird.
Leo Jweda

@Laurent: Wenn ich also möchte, dass ein Header jetzt eine Seitenleiste ist, muss ich alle meine CSS- und Markup-Einstellungen durchgehen, um sie umzuschalten, da sie semantisch nicht mehr korrekt sind. Machen Sie es zu einem Div, nennen Sie es, was es tut, und verwenden Sie es, wie Sie wollen. @Laith: Inwiefern wird es für Suchmaschinen gut sein?
Graham.reeds

Canvas: Willst du es benutzen? Das kannst du nicht. Oder Sie können, aber Sie befinden sich jetzt im Land der gezielten Programmierung. Welches ist nicht der Punkt von Standards.
Graham.reeds

3
"Machen Sie es zu einem Div, nennen Sie es, was es tut, und verwenden Sie es, wie Sie wollen." - Verdammt richtig. Wenn Sie schon dabei sind, machen Sie dasselbe für alle Ihre Absätze und Listen. Wie tippe ich hier ein Sarkmark?
Paul D. Waite
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.