radioボタンのchecked

HTMLのラジオボタンのchecked属性ですが、属性の値はWebサイトによって、属性なしだったりtrueだったりonだったりcheckedだったりいろいろ。何が正しいんだこれは?と思って調べてみたメモ。


http://www.asahi-net.or.jp/~SD5A-UCD/rec-html401j/interact/forms.html#adef-checked
http://www.w3.org/TR/html4/interact/forms.html#adef-checked

この論理型属性は、type属性値が"radio"または"checkbox"の場合に、“入”であることを指定する。ユーザエージェントは、他のコントロール形式においては本属性を無視しなければならない。


http://www.asahi-net.or.jp/~SD5A-UCD/rec-html401j/interact/forms.html#h-17.2

同じ名を持つラジオボタンコントロール群の中に、初期値が“on”のものが存在しない際に、ユーザエージェントがどのコントロールを“on”として選ぶかは、定義しない。

属性の値は定義されてないようです。つまりcheckedだけでよくてchecked="xxx"のxxxは不要のようだ。


ちなみにIEだと、同じnameのラジオボタンのグループで

  • checked属性(値なし)つけたものが選択。
  • checked="hogehoge"とかしても選択
  • checked="false"とかしても選択
  • checkedイッコもつけないとどれも選択されない
  • checked複数つけると後のラジオボタンが選択


みたいな動作でした。値書かなくていいなら、みんな書かなきゃいいのに?
(チェックボックスcheckboxも同様)