DoctypeはHTML5ドキュメントに必要ですか


12

最近、就職の面接を受けましたが、質問の1つは「HTML5文書にdoctypeは必要ですか?」というものでした。私は「いいえ」と答えましたが、私は間違っているかもしれないと感じています。w3からは絶対に必要なように見えますが、次のような単純なHTMLを入力すると

<html>
    <body>
        <input type="color" disabled/>
    </body>
</html>

それをHTMLとして保存し、Chromeで開こうとします。新しい色の入力(無効)で完全に機能します。その入力はHTML5と属性です。

だから問題は-私はdoctypeを指定する必要があるかどうか?面接の正解は何でしょうか?


1
Doctype要素なしではHTML5ドキュメントではないと主張できるでしょう。
MetaFight 2015

あなたは入力できhello world、テキストエディタでHTMLとして保存し、それがChromeでレンダリングされます。「必須」であっても、Chrome(および他の多くのブラウザ)が必要なものを用意していることがわかります。
intcreator

回答:


14

正解は「場合によります」です。

DOCTYPEは、XHTML構文の HTML5ドキュメント(つまり、XHTML5ドキュメント)ではオプションです。

XMLドキュメントには、必要に応じてDOCTYPEを含めることができますが、この仕様に準拠する必要はありません。

HTML構文の HTML5ドキュメントにはDOCTYPEが必要です。

ドキュメントは、次の部分で構成されている必要があります。

[…]

3. DOCTYPE。

例外


1
これは、「必要」が「仕様で必要」と解釈された場合の完全な答えです。それはまた、実際的な効果を参照していると解釈することもできます。その場合の答えは、ブラウザーを「標準モード」にするには、HTML構文でdoctype文字列が必要であることです。
Jukka K.Korpela、2015

ドキュメントがhtmlとxhtmlのどちらであるかについて詳しく説明した場合は、この回答を改善してください。これはブラウザにとってどのような意味がありますか?どの構文で評価するかをどのように決定したのですか?
temporary_user_name

7

私も "いいえ"と答えます(たまたまそうなのですが)。

ただし、http//www.w3.org/TR/html5/syntax.html#the-doctypeは次のように述べています。

8.1.1 DOCTYPE

DOCTYPEは必須のプリアンブルです。

従来の理由からDOCTYPEが必要です。省略した場合、ブラウザーは一部の仕様と互換性のない別のレンダリングモードを使用する傾向があります。ドキュメントにDOCTYPEを含めることで、ブラウザが関連する仕様に従って最善の努力を払うようになります。

ところで、GIYF


1
引用部分はHTML構文にのみ適用されます。
Jukka K.Korpela、2015

そして、質問のタイトルは、「HTML5ドキュメントに必要なDoctypeですか」(QED)です。
モーグはモニカを2015

1
HTML5仕様は、HTML5の2つの構文を定義することをはっきりとはっきりと述べています。1つは元のHTMLに基づいており、もう1つはXMLに完全に準拠しています。構文の1つにのみ適用されるため、引用するものは質問の答えにはなりません。
Jukka K.Korpela、2015

ああ!最後に理解しました。説明をありがとうございました。
Mawg氏は、2015

2

w3c標準に準拠したHTML5ドキュメントを作成する場合は、<!DOCTYPE html>が必要です。

しかし実際には、一般的なWebブラウザーは関係なくドキュメントをレンダリングするため、必ずしもdoctypeが必要なわけではありません。ただし、一部のブラウザはレガシーモードを使用し、一部の機能は正しく解釈されず、代わりに以前のバージョンのブラウザが処理した方法で処理されます(ほとんどはレイアウトに関連しています)。

このインタビューに正しい答えはどれですか。それはあなたにインタビューした人の考え方に依存します。就職の面接では、あなたが正しいか間違っているかは問題ではありません。面接担当者に与える印象だけが重要です。


私にとって興味深い質問は、2020年にDOCTYPE HTML5が実際に必要かどうかということです。現在のブラウザー(FF、Chrome、Edge)を省略した場合、コードをHTML-5に準拠させるとどうなりますか?
Panu Logic
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.