最近私は就職の面接を受けましたが、質問の1つは「HTML5文書にdoctypeは必要ですか?」というものでした。私は「いいえ」と答えましたが、私は間違っているのではないかと感じています。 w からは、絶対に必要なように見えますが、単純なHTMLを次のように入力すると
<html>
<body>
<input type="color" disabled/>
</body>
</html>
これをHTMLとして保存し、Chrome-で開くことを試みます。新しい色の入力(無効)で完全に機能します。その入力はHTML5および属性です。
だから問題は-doctypeを指定する必要があるかどうか?インタビューの正しい答えは何でしょうか?
正解は「場合によります」です。
DOCTYPEは XHTML構文 のHTML5ドキュメントではオプションです(つまり、XHTML5ドキュメント):
XMLドキュメントには、必要に応じてDOCTYPEを含めることができますが、これはこの仕様に準拠する必要はありません。
HTML構文 のHTML5ドキュメントにはDOCTYPEが必要です:
ドキュメントは、次の部分で構成されている必要があります。
[…]
3. DOCTYPE。
srcdoc
element の iframe
属性 内のHTML5ドキュメントはDOCTYPEを必要としません:
2.オプションで、DOCTYPE。
私も「いいえ」と答えるでしょう(たまたまそうです)。
ただし、 http://www.w3.org/TR/html5/syntax.html#the-doctype はこう言います:
8.1.1 DOCTYPE
DOCTYPEは必須のプリアンブルです。
従来の理由からDOCTYPEが必要です。省略した場合、ブラウザは一部の仕様と互換性のない別のレンダリングモードを使用する傾向があります。ドキュメントにDOCTYPEを含めることで、ブラウザが関連する仕様に従って最善の努力を払うようになります。
ところで、G.I.Y.F
W3c標準準拠のHTML5ドキュメントを作成する場合は、<!DOCTYPE html>
必要とされている。
しかし、実際には、一般的なWebブラウザは関係なくドキュメントをレンダリングするため、必ずしもdoctypeが必要なわけではありません。ただし、一部のブラウザは、一部の機能が正しく解釈されず、代わりに以前のバージョンのブラウザが処理した方法でレガシーモードを使用します(ほとんどはレイアウト関連)。
正しい答えはどれですかこのインタビューの場合?それはあなたにインタビューした人の考え方に依存します。就職の面接では、あなたが正しいか間違っているかは問題ではありません。面接担当者に与える印象だけが重要です。