name属性の廃止
XHTMLを解説しているページの多くで、
XHTML1.0からはname属性は廃止です。
name属性はid属性にかえましょう。
的な事が書いてあるんで、すべてのname属性が廃止なんだと思ってた。
でも、あれ?じゃあチェックボックスやラジオボタンのグループ化ってどうやってやんの?
と思って調べていたら、name属性の廃止は一部の要素についてのみということが判明。
紛らわしい書き方なんで、他にも誤解してる人いっぱい居そう・・・
え?プロにとっては常識?そうですか・・・
以下にname属性を使える要素についてまとめてみました。
本やサイトなどから引っ張ってきたのでなく、きちんとDTDを読んだので正確だと思います。
○:name属性使用可
×:name属性廃止
‐:要素自体が廃止
要素 | XHTML1.0 | XHTML1.1 | ||
---|---|---|---|---|
frameset | transitional | strict | ||
a | ○ | ○ | ○ | × |
map | ○ | ○ | ○ | × |
img | ○ | ○ | × | × |
form | ○ | ○ | × | × |
iframe | ○ | ○ | - | - |
applet | ○ | ○ | - | - |
frame | ○ | - | - | - |
meta | ○ | ○ | ○ | ○ |
object | ○ | ○ | ○ | ○ |
param | ○ | ○ | ○ | ○ |
input | ○ | ○ | ○ | ○ |
select | ○ | ○ | ○ | ○ |
textarea | ○ | ○ | ○ | ○ |
button | ○ | ○ | ○ | ○ |