yupaがエンジニアになるまでを記録するブログ

FjordBootCamp (フィヨルドブートキャンプ ) で学んだことや、趣味のVRに関するメモを記録していきます

HTMLの空要素を閉じるときスラッシュは必要なのか

空要素(<br><img>等、子要素を持つことができない要素)を閉じるときに<br />なのかそれとも<br>で良いのかというお話。

HTMLにおいて、空要素の閉じスラッシュ/は必要無い

調べたら、AppleMozillaOperaの関係者という、Web最前線のすごい人達が集まっているコミュニティ WHATWG のFAQに答えが載っていた。

HTML の空要素(たとえば、br, img, input 要素)に終端スラッシュをいれる必要はありません。<br /> の代わりに <br> と書けば良いだけです。これは HTML4 と同じです。しかし、XHTML1 の利用が広まっているため、かなり多くのページで、終端スラッシュが使われています。そのため、XHTML1 から HTML への移行を容易にするために、終端スラッシュの構文を HTML の空要素で使うことができるようになりました。
 
引用元: WHATWG FAQ - 日本語訳 - HTML5.JP
原文: html/FAQ.md at master · whatwg/html

なるほどXMLの文法でHTMLを定義し直したXHTML1では/>が必須だったのか。
(HTML5WHATWGW3Cに提唱したんですね知らなかった!)

そもそもXMLの文法って

MSDNXML標準のリファレンスによると、

空要素タグは開始タグのように見えますが、最後の > の前に (/) が付きます。
 
引用元:XML標準 - 開始タグ、終了タグ、および空要素タグ

とのこと。 XHTMLはこの文法が適用されたものだということがわかる。