2008-08-08 13 views
132

HTML 5 doctypeの使用を開始しない理由は何ですか?

HTML4とXHTMLとの下位互換性があると想定されています。 John Resig posted about some of the benefits

新しい機能やまだサポートされていない機能を使用していない限り、このdoctypeを使用してサイトを構築することには欠点がありますか?

+1

当時は有効な関心事でしたが、人生が巻き込まれてHTML5がここに滞在しているので、私は終了します。答えの多くは事実ではなく意見であるため、旗も魅力的です。 – Kev

答えて

143

まあ、このことを考慮してください。

text/htmlのとして、すべてのあなたは標準モードを起動するためにされたためDOCTYPEを必要としています。それを超えて、doctypeはブラウザに関係する限り何もしません。

XHTMLマークアップまたはHTMLマークアップのいずれを使用する場合でも、text/htmlとして機能するときは、ブラウザとしてHTMLとして扱われます。

標準モード(<!DOCTYPE html>)をトリガーする最短のdoctypeを使用し、ブラウザで正しい結果を生成するHTMLマークアップを使用することになります。

残りは、準拠、検証、マークアップの前提条件です。

これで、今すぐ<!DOCTYPE html >を使用し、マークアップをHTML5に準拠させることは、今ブラウザで動作する安定した機能に固執する限り、悪い考えではありません。ブラウザで動作しないHTML4やXHTML 1.xでは何も使用しませんか?

つまり、!DOCTYPE html >をHTML5のようなマークアップで使用していますが、HTML5で明確になったことを尊重しています。結局、HTML5はブラウザの互換性に関するものです。

HTML5を使用することの欠点は、仕様がかなり頻繁に変更される可能性があることです。これにより、積極的に変化する仕様に追いつくことが重要になります。また、http://validator.nu/は最新のものではないかもしれませんが、http://validator.w3.org/は必ずしも最新のものではありません。

もちろん、XHTML 1.0マークアップを使用してXHTML 1.0に準拠させたい場合は、<!DOCTYPE html >を使用しないでください。

個人的には、私はいつも<!DOCTYPE html >をHTMLに使用します。

+4

URIを省略するとブラウザが奇妙なモードになり、標準に無駄な努力を払うと思っていました。 –

+5

<!DOCTYPE html>としてXHTML 1.0のマークアップを使用できないのはなぜですか?私はそれがポイントだと思った! – Skilldrick

+2

Skilldrick、あなたはpolyglot docs yesを書くことができます。 http://stackoverflow.com/questions/1079427/what-is-a-polyglot-document – Shadow2531

2

私はそれを使用して広範囲にテストすると思います。それがあなたの家を爆破したかどうか、私たちに知らせてください。 : ')

3

新しい/サポートされていない機能を使用しない場合は、私があなたに質問する理由があります。私はあなたがそれに取り組むことができないと言っているわけではありませんが、なぜ利益をもたらさず、XHTML5で補うことができるdoctypeでサイトを構築し始めるのですか?

+3

「新しく​​/サポートされていない機能を使用しない場合に、なぜそれを使うの?大きなことではありませんが、明らかに、それでもなおです。 –

+0

ええ、XHTML 1.2やXHTML 2.0はありませんか? ;) –

+1

HTML5 *は* 'XHTML5'です。 W3Cは「X'HTML」の開発を中止しました。 –

1

doctypeを使用する場合は、機能を試してみてください。彼らが生産現場に行かない限り、それらを徹底的にテストしてください。

-16

私は個人的には「いいえ」と言います。 HTML5には明確なメリットはなく、実際にはすべてが最初から失敗していると言えるでしょう。

ヘッダー、フッター、サイドバーに特殊なタグを付けるのは大きな誤りです。タグ(div)と名前(classes/id)の形式になっています。なぜ専門家が必要なのか? XHTML1.1は十分な期間です。実際、ほとんどのブラウザはHTML4を正しくサポートしていないため、適切なサポートを得るために何年もかかるDoctypeの使用にはほとんど意味がありません。

+10

意味についてです。 HTMLのほぼすべての単一のタグを完全になくし、div、span、style/class属性だけを使うことができます。しかし、そうすることによって、文書からすべての意味値を削除します。 – Laurent

+2

それは検索エンジンのためにいかに有用であるか考える。 –

+0

@Laurent:ヘッダーをサイドバーにしたいのであれば、意味的に間違っているため、CSSとマークアップを切り替えなければなりません。いいえ、divにして、それが何であるかと呼んで、あなたのやり方を使ってください。 @Laith:それは検索エンジンにとってどんな点で良いでしょうか? –

2

最新のIE8ベータに基づいて、MSはIE8モード切り替え泥沼のためのバイパスとしてHTML5 doctypeを使用するようです。 HTML5のDoctypeを早期に導入する最大のリスクは、IE8の出荷前にIE5と互換性のない多くのコンテンツをHTML5のdoctypeで公開すると、MSはHTML5のモード状況を簡単にするのが難しいかもしれないということです。

更新:これが投票されました。 IE8が出荷された今、明らかに上記の考慮事項は適用されません。そして確かに、the situation is not simple with IE8

1

お客様のニーズとニーズを考慮してください。私はclass testsのようなページを、Ubuntuを装備したコンピュータラボでFireFox 3を使用している私のコースの受講生を対象に書いています。 SVGにはMathMlをforeignObjectとして埋め込んだSVGが必要です。私はHTML5のdoctypeと新しいHTML5タグを自由に使用します。

2

欠点のファンは、主に懸念が検証:

  1. サードパーティ製の検証ツールは、常に、仕様を変更する私のお気に入りのツールは、信頼性のない作りに追いついていません。
  2. すべての要素を閉じていることを確認するために、厳密なdoctypesに対して検証することをお勧めします。シンプルで時間のかかるネストエラーを回避する簡単な方法です。 HTML 5では要素を閉じる必要がないため、タグが見つからないことはありません。
+0

これは本当です。そのため、単純にバリデータではなくhttp://lint.brihten.com/html/helpのhtml lint checkerを探したいのです。 – Kzqai

0

これを見つけた方に。 http://hsivonen.iki.fi/doctype/のグラフには、使用しているDOCTYPE宣言に応じて、さまざまなブラウザーで を使用するさまざまなレンダリングモードが示されています。これは、DOCTYPEスイッチングがどのように機能するかを示す良いアイデアです。

関連する問題