label 要素

4.10.6 label 要素

Status: Last call for comments

カテゴリー
フロー・コンテンツ
フレージング・コンテンツ
インタラクティブ・コンテンツ
フォーム関連要素
この要素を使うことができるコンテキスト:
フレージング・コンテンツが期待される場所
コンテンツモデル:
フレージング・コンテンツ。ただし、該当要素がラベル付きコントロールでない限り、ラベル付け可能なフォーム関連要素が子孫にないこと。そして、label 要素が子孫にないこと。
コンテンツ属性:
グローバル属性
form
for
DOMインタフェース:
interface HTMLLabelElement : HTMLElement {
  readonly attribute HTMLFormElement form;
           attribute DOMString htmlFor;
  readonly attribute HTMLElement control;
};

label 要素は、ユーザー・インタフェースでのキャプションを表します。そのキャプションは、特定のフォーム・コントロールと結び付けることができます。そのコントロールとは、label 要素のラベル付きコントロールとして知られているものです。特定のコントロールと結び付けるには、for 属性を使うか、または、label 要素自身の中にフォーム・コントロールを入れるか、のいずれかとなります。

次の規則で指定されない限り、label 要素はラベル付きコントロールを持ちません。

for 属性を指定することで、キャプションを結びづけるフォーム・コントロールを指し示すことができます。この属性を指定するなら、その属性値は、その label 要素と同じ Document にあるラベル付け可能なフォーム関連要素の ID でなければいけません。この属性が指定され、ID が for 属性の値に等しい要素が Document にあり、その最初の要素がラベル付け可能なフォーム関連要素であれば、その要素が label 要素のラベル付きコントロールとなります。

for 属性が指定されていないものの、その label 要素がラベル付け可能なフォーム関連要素を子孫に持つなら、該当の子孫のうち、ツリー順で最初の子孫が、その label 要素のラベル付きコントロールとなります。

label 要素の正確なデフォルトのプレゼンテーションとビヘイビア、特にアクティベーション・ビヘイビアがどうなるのかについては、プラットフォームのラベル・ビヘイビアがあるなら、それに合わせるべきです。

例えば、チェックボックスのラベルをクリックするとそのチェックボックスにチェックが入るプラットフォームでは、次の例の label 要素をクリックしたら、ユーザーエージェントは、ユーザーがその input 要素をクリックしたかのように、input 要素で疑似クリック起動手順を実行することができます:

<label><input type=checkbox name=lost> Lost</label>

他のプラットフォームでは、コントロールにフォーカスするだけかもしれませんし、何もしないかもしれません。

label . control

この要素に結びづけられているフォームコントロールを返します。

form 属性は、明示的に label 要素をフォーム・オーナーと結びづけるために使われます。

htmlFor IDL 属性は、for コンテンツ属性を反映しなければいけません。

control IDL 属性は、label 要素のラベル付きコントロールがあれば、それを返します。なければ、null を返します。


control . labels

フォーム・コントロールが結びづけられているすべての label 要素の NodeList を返します。

ラベル付け可能なフォーム関連要素は、それらに結びづけられた label 要素のリストを表す NodeList オブジェクトを持ちます。そのリストはツリー順です。そして、そのラベル付きコントロールは該当の要素となります。ラベル付け可能なフォーム関連要素labels IDL 属性は、取得時には、その NodeList オブジェクトを返さなければいけません。

form IDL 属性は、この要素の forms API の一部です。

次の例は、ラベルを持った 3 つのフォーム・コントロールを示しています。うち 2 つには、ユーザーが参考にするための正しいフォーマットを示す小書きのテキストがあります。

<p><label>Full name: <input name=fn> <small>Format: First Last</small></label></p>
<p><label>Age: <input name=age type=number min=0></label></p>
<p><label>Post code: <input name=pc> <small>Format: AB12 3CD</small></label></p>

※ 原文:http://www.w3.org/TR/2010/WD-html5-20100624/forms.html#the-label-element