* label 要素 for 属性 (HTML, XHTML 1)
[1] [[HTML]] の [CODE(HTMLe)[[[label]]]] 要素の
[DFN[[CODE(HTMLa)[for]] 属性]]は、
[RUBY[名札][ラベル]]と組になる[[制御子]]を指定します。
[2] 仕様書:
- [[HTML 4]] ([[Web Forms 1.0]])
-- [CODE(HTMLe)[label]] 要素 [CODE(HTMLa)[for]] 属性
-- [CITE[17.9.1 The [CODE(HTMLe)[LABEL]] element]]
[[#comment]]
** 属性値
[3] この属性は [CODE(SGML)[[[IDREF]]]] です。
大文字・小文字は区別されます [SRC[HTML 4 17.9.1]] が、
それ以前に [[SGML]] 的に大文字化がなされます。
詳しくは[[噂の[CODE(SGML)[ID]]問題]]をご覧ください。
この [CODE(SGML)[ID]] は、同じ文書の[[制御子]]要素の [CODE(HTMLa)[[[id]]]]
でなければなりません。
[4] この属性は省略可能です。
省略した場合は、その要素内にある制御子に関連付けられます
[SRC[HTML 4 17.9.1]]。
[5]
定義上、 [CODE(HTMLe)[label]] は丁度1つの制御子と関連付けられなければなりませんから、
[CODE(HTMLa)[for]]
属性を指定しない場合には要素の子孫には丁度1つ制御子要素がなければなりません。
[CODE(HTMLa)[for]] 属性を指定する場合には、
要素の子孫に制御子要素があってはならないはずです
(但し [CODE(HTMLa)[for]] 属性で指定された要素が子孫にあるという場合は、
定義に反しませんから問題ないと思われます)。
[[#comment]]
** 他との関係
[6] 複数の [CODE(HTMLe)[label]] 要素が同じ [CODE(HTMLa)[for]]
属性を持っていても (同じ制御子を参照していても) 構いません [SRC[HTML 4 17.9.1]]。
** メモ
[[#comment]]
* [CODE(HTMLe)[script]] 要素 [CODE(HTMLa)[for]] 属性 (HTML)
[7] [[HTML]] の [CODE(HTMLe)[[[script]]]] 要素の
[DFN[[CODE(HTMLa)[[[for]]]] 属性]]は、[[スクリプト]]が適用される[[事象]]の対象要素を指定します。
[8] 仕様書:
-[[HTML 4]]
-- [[厳密DTD]]
-- [[移行用DTD]]
** 代替
[9] この属性は'''予約'''機能でしたが [SRC[HTML 4 DTD]]、
その後も正式な HTML の機能として取り入れられることはありませんでした。
代わりに [[XML事象]]で同じ機能が標準化されています。
[[#comment]]
** 属性値
[10] この属性の値は [CODE(SGML)[%[[URI]]]] です。
[[SGML]] 的には [CODE(SGML)[[[CDATA]]]] です。 [SRC[HTML 4 DTD]]
[11] この属性は省略可能です。 [SRC[HTML 4]]
[[#comment]]
** 他との関係
[13] [CODE(HTMLa)[[[for]]]] 属性は常に
[CODE(HTMLa)[[[event]]]] 属性と組で使います。
[15] この属性に対応する [CODE(DOMa)[[[htmlFor]]]]
属性が [[DOM水準1]] HTML および [[DOM水準2]] HTML
で予約機能として [CODE(DOMi)[[[HTMLScriptElement]]]]
界面に定義されています。
[[#comment]]
** 実装
[14] この属性ははじめ [[WinIE]] が実装しました。
[[#comment]]
** メモ
[12] HTML 4 DTD は ([[厳密DTD]] も[[移行用DTD]] も)
[CODE(SGML)[%[[HTML.Reserved]]]] が [CODE(SGML)[[[IGNORE]]]]
であってもこの属性を宣言しています。
HTML 4 仕様書のマーク付けされた DTD は
[CODE(HTMLa)[for]] 属性を [CODE(HTMLe)[[[label]]]] 要素の
[CODE(HTMLa)[for]] 属性にリンクしています。
しかし、属性型も意味も異なりますし、単なる間違いと思われます。
[[#comment]]
* メモ