2012/03/21(水)HTML5の空要素

2012/03/20 25:56

今まで知らなかったのですが、HTML5は空要素を /> で閉じることができるんですね。

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

WHATWG FAQ - 日本語訳 - HTML5.JP

今業務で携わっているシステムは、独自フレームワークJSPに空要素を吐き出す際に問答無用で終端にスラッシュを入れてくれるのですが、「このシステムってHTML4.01じゃなくてXHTML1.0にしなきゃ駄目じゃね?」といういかにも原理主義者な提案をしたものの、それ以上にヤバい問題が多発したために放置されています *1

……まぁ、そんなオレオレフレームワークの話はどうでも良くて、こういう風にXMLの要素をそのまま吐き出してしまうようなフレームワークは特に珍しくもないので、Webアプリ開発者としては嬉しい仕様かもしれません。

*1:そもそもHTML4.01で終端スラッシュを入れたとしても、ちゃんと表示されますしね。