* 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]] * メモ