2011-01-28 18 views
3

私は、ラベルタグとその 'for'属性が、ラベルが属するコントロールのブラウザをヒントするために使用されたネットの例を見つけました。例えば:私は実際には同じ一つのラベルが両方の組み合わせに割り当てる必要がある2つのコントロールがある場合HTML、accessibilty:1つのラベルで2つのコントロールにラベルを付けることは可能ですか?

<form> 
    <label for="male">Male</label> 
    <input type="radio" name="sex" id="male" /> 
    <br /> 
    <label for="female">Female</label> 
    <input type="radio" name="sex" id="female" /> 
</form> 

私の質問は(ない各1にし、可能な場合)である、例えば:

a label text + a numeric input field + a text (unit) input field 

(それが出来ないので)私は

  1. 数値のみの入力フィールドにラベルを割り当てるか
  2. は、数値とテキストINPを置くことを可能である必要がありますutフィールドを単一のスパンタグに変換し、そのスパンにラベルを添付しますか?
  3. または両方の入力コントロールを1つのラベルタグ内に配置できますか?

どのソリューションがすべてのブラウザでアクセシビリティに役立つでしょうか?

答えて

7

ラベルのfor属性は実際には(いずれもIDが一致する限り)任意の要素で使用できますが、単一の要素に対してのみ使用できます。さらに、実際にはフォームの要素にのみ意味があります。 specから

= IDREFのための[CS]

この属性は、明示的に別のコントロールに定義されているラベルを関連付けます。存在する場合、この属性の値は、同じ文書内の他のコントロールのid属性の値と同じでなければなりません。存在しない場合、定義されているラベルは要素の内容に関連付けられます。

そして:

暗黙のうちに別のコントロールにラベルを関連付けるには、制御要素はLABEL要素の内容の範囲内でなければなりません。この場合、LABEL は、1つの制御要素のみを含むことができる。

(強調鉱山)

関連する問題