HTMLは、World Wide Web [1]でハイパーテキストを公開するための共通言語です。 1982年から、Tim Berners-Leeは、2001年のXHTML1.1仕様のリリースにSGMLの元の定義を簡素化し、HTMLは複数のバージョンを持つ国際標準になりました[2]。各バージョンの仕様は、DTDと呼ばれるドキュメントタイプ定義である法的構造、要素、および属性を説明する機械可読言語で定義されます。
関連記事:HTMLコード学習:Doctypeの略語
DTDは、HTMLドキュメントの前面にあるドキュメントタイプ宣言(DTD宣言[3]と呼ばれるDTD宣言)について説明します。連絡先ドキュメントとDTD指令です。たとえば、HTML4.01 StrictのDoctypeは次のとおりです。
<!doctype html public -//w3c//dtd html 4.01//en http://www.w3.org/tr/html4/strict.dtd>ドキュメントのHTMLバージョンを指定します。これは、ブラウザなどのツールがドキュメントを解析するときに最も必要な情報です。たとえば、W3C検証ツールは、構文を確認し、それに基づいてエラーを指摘できます。
初期のブラウザの標準のエラー実装、多数のプライベートエクステンション、初期標準自体の混乱などにより、当時のドキュメントはDTDへの参照でも直接的な言及もなく、ブラウザがそれらを区別できないために新しい標準を適用して普及させることも困難になりました。 Todd Fahrnerは、1998年にToggle Methodを提案し、Browserがレンダリングモードの2つのセットを提供できるようにするために、Web標準と時代遅れのプラクティスに従って作成されたWebページを処理するために、トグルメソッドを提案しました。
この方法は実用的でシンプルで効果的です。 2年後、IEのMACバージョンで初めて使用され、すぐに他のブラウザメーカーがそれを採用し、Doctypeスニッフィング(DoctypeスニッフィングまたはDoctype Switching)を産んだ。ブラウザは、エンジンが標準モード、準標準モード、またはQuirkモードを採用する必要があるかどうかを決定するために、HTMLとCSSの解析、CSSおよびJavaScriptスクリプトのレイアウトに非常に大きな影響を与えるかどうかを決定します[5]。標準モデルを可能な限り採用する必要があることは間違いありません。
HTML5はまだドラフトにありますが、最新のブラウザFirefox3.5、Chrome2、Safari4、およびIE8はいくつかの機能をサポートし始めました。特にGoogle Waveのリリースは、HTML5の実践を促進する新しいクライマックスを引き起こしました。 HTML5はSGMLに基づいているわけではなく、DTDを持っていませんが、Forwardの互換性のために、Doctypeが嗅ぐという事実を受け入れ、Doctypeがテキスト/HTMLの唯一のモード変換宣言であると定義しますが、使用しないことを除いて。そのdoctypeは非常に簡潔です:<!doctype html> [6]。
順方向互換性の問題を解決するために、IE8はX-UA互換宣言[7]を採用していることに言及する価値があります。これは、より複雑なパターンの判断につながるだけでなく、[8]につながるだけでなく、Webデザインの進歩的な強化の概念にも違反します[9]。
Web標準への道では、リアリズムとの互換性だけでなく、理想主義との逆方向の互換性も必要です。これは、私たちのウェブが将来正常に機能することを保証する希望です。標準、シンプル、そして徐々に強化されているというアイデアにより、今のページの最良の解決策はおそらく次のとおりです。
<!doctype html>…<meta http-equiv=x-ua-compatible content=ie=edge>…注: