web-dev-qa-db-ja.com

ドキュメントタイプの定義はまだ最新ですか?

現在、私のPHPで生成されたすべてのリッチHTML Webページは、この行で始まります。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

更新

誰がどのDoctypeを使用する必要がありますか?いつDoctypeを変更する必要がありますか?この行を削除しても、すべて正常に機能します。それを私のページの一番上に置くことは本質的にまだ必要ですか?私の選択肢は何ですか?ご提案ありがとうございます。

1
Sam

長い間問題ありません-ブラウザは、特に理解していないものは無視します。 XHTML自体は最終的には消滅します(1.1を含む)が、ブラウザーはすべてのHTMLバージョンを何らかの形でサポートする必要があるため、完全になくなるわけではありません。

最新の(技術的にはHTML5ですが、今のところ非常に使いやすい)Doctypeは素晴らしいですが、変更する価値があるかもしれません。

<!doctype html>

素晴らしくきれいで、不器用なバージョンやDTDはもうありません。

もっと こちら

3
tadamson

あなたの質問に答えるには:はい、現在のDTDは問題ありません。

しかし、それは間違った質問でもあります。標準はこのようには機能しません。
それは、常に最新のものを使用していることを確認することではなく、質問が示唆するように「期限切れ」になっていません。彼らは1つを選び、その規則に従うことについてです。

サイトがHTML 4とそれに関連するdoctypeを使用している場合でも、HTML 4仕様の条件内でマークアップが有効である限り、そのいずれかを変更する特別な理由はありません。 欲しいXHTMLまたはHTML5またはそれで問題ないサイトを再コーディングしたいが、それを行うことを強制するものがまったくない場合。 (これがあなたの質問の核となるようです。)思い出すと、実際には多くの人が実際にreturnを押している期間がありましたXHTMLは実際には 決して正しく行われない だったからです。 (XHTMLが流行していたとき、HTML5へのプッシュに変わる前に。)

あなたの質問には二次的な欠陥があります。それはDoctypeに関するだけではありません。それを変更するだけで、セマンティクスの変更や廃止予定の要素などに起因する問題を実際にcreateできます。ドキュメント全体を考慮する必要があります。同様に、80年代に設定された本は、「Facebookを参照しないでください」などの特定の要件を課しています。それとは反対に、マイケルジャクソンがスリラーをリリースしたばかりだと言う部分を修正する必要があるため、2010年に移行することを単純に決定することはできません。

8
Su'

文字通り(1990年代後半以降)ブラウザーでDOCTYPEが行う唯一のことは、標準モードまたは奇抜モードでレンダリングするかどうかのシグナルです。それでおしまい。

WHATWGは調査を行い、標準モードでレンダリングするためにブラウザーがDTDを必要としないことを認識しました。標準モードをレンダリングするために必要なのは、最小限の「HTML5 DOCTYPE」、<!DOCTYPE HTML>だけです。

したがって、DTDでXHTML 1.0 doctypeの代わりにHTML5 doctypeを使用しても何も起こりません。ただし、ページが非常にわずかに小さくなり、バリデーターを使用すると、異なるルールを使用して検証されます。

2
Yahel