- From: kitamura <kits@akatsukinishisu.net>
- Date: Mon, 30 Nov 2009 21:55:05 +0900
- To: public-html-ig-jp@w3.org
北村と申します。はじめまして。
最近になって、HTML5の空要素の詳細な文法規則を確認しようと思い、
9.1.2.1 Start tags
http://www.whatwg.org/specs/web-apps/current-work/multipage/syntax.html#start-tags
を読んだのですが、気付いたことがあったので報告してみます。
箇条書きのところをざっと訳してみると、
1. 開始タグの先頭文字は U+003C LESS-THAN SIGN (<) でなければ
なりません。
2. 開始タグの次の数文字が要素のタグ名でなければなりません。
3. 次の段階に何か属性があれば、最初に、1つ以上の空白文字が
なければなりません。
4. そして、開始タグには、幾つかの属性があるかもしれません
(その文法は以下で説明されます)。属性は1つ以上の空白文字に
よって互いに分けられるかもしれません。
5. 属性の後に、1つ以上の空白文字があるかもしれません。(いくつかの
属性は、空白が後に続くことを必要とします。以下の「属性」の
項を見てください)
6. そして、要素が空要素の1つであるか、または要素が外部要素で
あれば、一つの U+002F SOLIDUS (/) があるかもしれません。
この文字は空要素においては何の効果もありませんが、外部要素に
おいては、この文字は開始タグが自身を終了するものであることを
示します。
7. 最後に、U+003E GREATER-THAN SIGN (>) により開始タグを
閉じなければなりません。
となりました。この文に沿って考えると、例えば属性なしのbr要素について、
<br> や <br/> はどちらもOK、ということは言えますが、
<br > や <br /> のような、要素名の後に任意の空白が入る書き方を
認めていないように見えます。
(要素名からタグ閉じまでの空白は3番、5番で説明されていますが、
どちらも属性が存在する場合に限定された記述となっています)
しかし仕様の意図としては、HTML4, XHTML1双方からの移行を容易に
するという意図で / があってもなくてもよいようにしていると
思うので、であれば、XHTML1で多く使われている <br /> のような
書き方でも可となるよう、仕様の文章を修正すべきではと考えます。
参照: WHATWG FAQ - 日本語訳 - HTML5.JP
http://www.html5.jp/trans/whatwg_html5faq.html#Should_I_close_empty_elements_with_.2F.3E_or_.3E.3F
※以上の話は以下の記事でも言及しました。
http://www.akatsukinishisu.net/itazuragaki/html/html5_void_elements_syntax.html
--
北村曉 kits@akatsukinishisu.net
http://www.akatsukinishisu.net/
Received on Monday, 30 November 2009 13:30:11 UTC