HTML: オプションの終了タグを含めるか除外するか? 質問する

HTML: オプションの終了タグを含めるか除外するか? 質問する

いくつかのhtml1終了タグはオプションつまり:

</HTML>
</HEAD>
</BODY>
</P>
</DT>
</DD>
</LI>
</OPTION>
</THEAD>
</TH>
</TBODY>
</TR>
</TD>
</TFOOT>
</COLGROUP>

注記:終了タグと混同しないように注意してください。禁断含まれるもの、すなわち:

</IMG>
</INPUT>
</BR>
</HR>
</FRAME>
</AREA>
</BASE>
</BASEFONT>
</COL>
</ISINDEX>
</LINK>
</META>
</PARAM>

注記: xhtmlHTMLとは異なります。xhtmlはxmlの一種で、要素には終了タグがあります。終了タグは禁断HTMLでは、まだ必須xhtml

オプションの終了タグは

  • 理想的には含まれる忘れてしまった場合でも受け付けます。
  • 理想的にはない含まれているが、

言い換えると、すべき私はそれらを含めるか、それとも含めるべきかないそれらを含めますか?

HTML 4.01仕様では、要素の終了タグはオプションであると説明されている。ただし、それらを含めることが望ましいのか、含めないことが望ましいのかは述べられていません。

一方で、DevGuruのランダムな記事によると:

終了タグはオプションです。ただし、含めることをお勧めします。

私が尋ねる理由は、あなたが知る互換性の理由からオプションになっています。そして、彼らは(必須|禁断) できればそうしたいです。

言い換えれば、HTML 1、2、3では、これらのオプションの終了タグに関して何をしていたか。HTML 5では何が行われているか。そして、何をすべきか。する?

注記

HTMLのいくつかの要素は禁断閉じタグを付けることはできません。あなたはそれに反対するかもしれませんが、それは仕様であり、議論の余地はありません。私が尋ねているのはオプション終了タグとその意図は何だったのか。

脚注

1 HTML 4.01

ベストアンサー1

明示的なタグが役立つ場合もありますが、時には不必要な衒学的行為になることもあります。

HTML 仕様では、タグを省略することが有効な場合が明確に指定されているため、必ずしもエラーになるわけではないことに注意してください。

たとえば、 は必要ありません</body></html>。 を<tbody>明示的に記述することを覚えている人は誰もいません (XHTML では例外を設けているほどです)。

</head><body>実際に検索する DOM 操作スクリプトがない限り、必要ありません(その場合は、暗黙の終了のルールに驚く可能性がある<head>ため、明示的に閉じる方がよいでしょう)。<head>

ネストされたリストは実際には なしのほうが適切です。 そうすれば、誤ったツリー</li>を作成しにくくなるからです。ul > ul

有効:

<ul>
  <li>item
  <ul>
    <li>item
  </ul>
</ul>

無効:

<ul>
  <li>item</li>
  <ul>
    <li>item</li>
  </ul>
</ul>

また、すべての要素を閉じるかどうかに関係なく、終了タグが暗黙的に指定されることに留意してください。終了タグを配置しても、解析が自動的に堅牢になるわけではありません。

<p>foo <p>bar</p> baz</p>

次のように解析されます:

<p>foo</p><p>bar</p> baz

ドキュメントを検証する場合にのみ役立ちます。

おすすめ記事