HTML 5 Doctypeの使用を開始しない理由は何ですか?[閉まっている]


132

HTML4およびXHTMLとの下位互換性があると想定されています。John Resigがいくつかの利点について投稿しました

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


1
当時はそれは正当な懸念事項でしたが、人生は順調に進んでおり、HTML5は今も残っているので、私は締めくくります。答えの多くは事実ではなく意見であるため、それはまた、フラグを引き付けています。
ケブ

回答:


143

よくこれを考慮してください:

text / htmlとして機能する場合、doctypeが必要なのは標準モードをトリガーすることだけです。それ以外では、ブラウザに関する限り、doctypeは何もしません。

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

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

残りは、適合、検証、マークアップの優先順位についてです。

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

つまり、HTML5で明確にされた事項を尊重しながら、HTML4のようなマークアップで<!DOCTYPE html>を使用します。結局のところ、HTML5はブラウザーの互換性についてです。

HTML5を使用することの欠点は、仕様が頻繁に変更される可能性があることです。これは、仕様が積極的に変更されるときに仕様に遅れずについていくことが重要になります。また、http://validator.nu/は常に最新であるとは限りませんが、http://validator.w3.org/も常に最新であるとは限らないので、それで止めないでください。

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

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


4
URIを省略するとブラウザーが互換モードになり、標準に準拠するのは無駄な作業になると思いました。
graham.reeds

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

2
Skilldrick、ポリグロットドキュメントを作成できます。stackoverflow.com/questions/1079427/what-is-a-polyglot-document
Shadow2531 2009

5
「URIを省略するとブラウザーが奇妙なモードになると思いました」—いいえ。HTML5に関する作業の大部分は、Ian Hicksonが多くの一般的に使用されているブラウザーを絶え間なくテストして、何がどのように機能するかを確認したことです。HTML5 doctypeは、そのような機能を持つすべてのブラウザーで(私は信じています)標準モードをトリガーします。
ポールD.ウェイト

23
それが役立つ場合は、IE8、IE7(IE8開発ツールを使用)、およびIE6(Virtual PCを使用)で<!DOCTYPE html>をテストしました。それらのいずれも、癖モードに入りませんでした。したがって、古いIEでも、互換モードに入らずに、標準のHTML5 Doctypeを確実に処理できます。
構文エラー

3

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


3
「新機能やサポートされていない機能を使用しないのに、なぜそれを使用するのか」-短くて覚えやすいため?大きなことではありませんが、それでもまだです。
ポールD.ウェイト

ええ、でもそれはXHTML 1.2でもXHTML 2.0でもないでしょうか。;)
Talvi Watia 2010

1
HTML5 「XHTML5」です。W3Cは「X」HTMLの開発を中止しました。
クリスハリソン

まあ、そうでもない。XHTML5とHTML5は、HTML言語の2つの異なるマークアップ表現(シリアライズ)です。前者はXMLベースで、後者はSGMLの(特別な解析セマンティクスを持つ)固有の方言です。
Delan Azabani、2011

2

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


2

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

更新:これは否決されたようです。IE8が出荷された今、明らかに、上記の考慮事項は適用されません。実際、IE8では状況は単純ではありません


2

私の欠点は主に検証に関係しています。

  1. サードパーティの検証ツールは常に仕様の変更に対応しているわけではないため、私のお気に入りのツールは信頼できなくなります。
  2. 私はすべての要素を閉じたことを確認するために、厳密なdoctypeに対して検証することを好みます。これは、単純だが時間のかかるネストエラーを回避する簡単な方法です。HTML 5では要素を閉じる必要がないため、一致しないタグを見つける方法はありません。

これは本当です。これが、単にバリデーターではなく、html lintチェッカー(lint.brihten.com/html/help)を探したい理由です。
クジャイ

1

doctypeを使用する場合は、機能を試してください。彼らが本番サイトに行かず、徹底的にテストする限り、それを試してください。


1

あなたの聴衆とあなたのニーズを考慮してください。私は、Ubuntuが装備されたコンピューターラボでFireFox 3を使用しているコースの学生を対象としたクラステストなどのページを作成しています。MathVGがSVGのforeignObjectとして埋め込まれたSVGが必要です。私はHTML5 doctypeと新しいHTML5タグを自由に使用しています。



0

これを見つけた人のために。のグラフhttp://hsivonen.iki.fi/doctype/は、使用中のDOCTYPE宣言に応じてブラウザが使用するさまざまなレンダリングモードを 示しています。これにより、DOCTYPE切り替えの仕組みがよくわかります。


-16

個人的にはノーだと思います。HTML5に明確な利点はなく、実際にはすべてが最初からおかしくなっていると言っても過言ではありません。

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


10
それは意味論についてです。HTMLのほとんどすべてのタグを完全に取り除き、div、span、style / class属性のみを使用できます。ただし、そうすることで、ドキュメントからすべてのセマンティック値を削除します。
Laurent

2
検索エンジンにとってどれほど役立つかを考えてみてください。
Leo Jweda 09年

@Laurent:ヘッダーをサイドバーにしたい場合、すべてのcssとマークアップを調べて、意味的に正しくなくなったため、それらを切り替えなければなりませんか?いいえ。それをdivにし、それを何と呼び、どのように使用するかを決めます。@Laith:どの点で検索エンジンに適していますか?
graham.reeds 2009年

キャンバス:使いたいですか?できません。または可能ですが、今は対象を絞ったプログラミングの領域にいます。これは標準のポイントではありません。
graham.reeds 2009年

3
「それをdivにして、それが何をするものであるかを呼び出し、それをどのように使用するか」—くそーまっすぐ。その間、すべての段落とリストに対して同じことを行います。ここにサルクマークを入力するにはどうすればよいですか。
ポールD.ウェイト
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.