2010-12-11 17 views
4

要素を正しく無効にするための参照を探していました。 XHTMLが出てきたとき、私はいつものような要素を無効にするために、教えられた:HTML5構文を使用する必要がありますか?

<input type="submit" disabled="disabled" /> 

XHTMLは、複数のルールに従うことにより、より厳格なHTML構文を作るについてのすべてでした。しかし、その後、私はW3C草案作業HTML5に行って、following on their boolean attributes(無効にするなど)に気づい:私は意味

<label><input type=checkbox checked name=cheese disabled> Cheese</label> 

、それは今後のHTML5の構文がはるかに緩い、古い学校の日のようになりますように見えますXHTMLの前に多分私は何かが欠けているでしょう。

私は自分のサイトに書いた新しいHTML(HTML5のdoctypeを使用しています)に対して、HTML5の構文スタイル(W3Cの作業草案のもの)を使用する必要がありますか?

答えて

3

は、より多くの規則に従ってHTML構文を厳格にすることに関するすべてです。

実際にはより少ないルールです。彼らは例外を削除しました。たとえば、「値が特定の条件に適合しない限り、属性値を引用符で囲む必要があります」が「属性値を引用符で囲む必要があります」となりました。

もちろん、XHTMLは本当に始まっておらず、ほとんどの人がtext/htmlとして提供していたため、「コンテンツを持たない要素には終了タグを省略する必要があります。コンテンツには終了タグを省略し、代わりに自己閉じタグ構文を使用する必要があります。 "

つまり、XHTMLより前の古い学校のように、今後のHTML5構文がはるかに緩やかになるようです。

構文規則には、基本的にHTMLとXHTMLで許されていたすべてがXHTML側にある2つの違いを含んでいます。 (例えば、<foo />は、<foo>を意味し、<foo>&gt;を意味しない)。

私はHTML5の構文スタイル(W3Cワーキングドラフトで1)あなたは、やや主観的である使用スタイルにとして

質問を使用する必要があります。オプションのものを除外することの簡潔さとそうではないことの明示の両方にメリットがあります。

HTML5を使用する場合は、有効なHTML5を記述する必要があります。あなたが与えた例は唯一の受け入れ可能なアプローチではありません。

+0

HTML5のdoctypeが使用されている場合、私は与えた2番目の例をどのように記述しますか(W3CによるとHTML5が有効なので)または、それをそのまま使用しますか? –

+2

このように書くことも、XHTMLスタイルで書くことも、2つの間のどこかに書き込むこともできます。私は個人的な好みを残しておきます(私が前に述べたように、両側にメリットがあるのと同様に)、それは宗教的領域であり、非生産的な戦争の対象となります。 – Quentin

0

HTML5のDoctypeを使用している場合、ではなく、はHTML5の構文を使用していると思われますか? HTML5はではなく、のXMLバリアント - HTMLです。

私は常に個人的には属性値を引用していません。

0

W3Cに関するこのブログ記事は、明確にする必要があります:HTML 5, one vocabulary, two serializations

要するに、HTML5では、HTML構文またはXML構文のどちらも使用できます。どちらも同じように有効です。選択肢はあなたのものです。

個人的には、HTML構文は簡単ですし、HTMLはXMLに基づいていないため、XML構文を使用する理由はありません。

+4

HTML構文が単純ではありません。それは例外がいっぱいです。つまり、XMLのserilizationを使用し、application/xhtml + xmlとして機能すると、重大な互換性の問題が発生します。 – Quentin

関連する問題