2013-09-22 9 views
13

私はhttp://validator.w3.org/checkで私のページをチェックし、エラーがあった間、私はこのエラーを得続ける理由は分からない:の検証HTMLは:フォームコントロールを参照する必要がありlabel要素の属性に

ここ
Line 235, Column 84: The for attribute of the label element must refer to a form control. 
… <label for="name" style="line-height:24px;">Your Name</label><br>&nbsp;&nbsp; 

である私実際のコード

<div>&nbsp;&nbsp; 
    <label for="name" style="line-height:24px;">Your Name</label><br>&nbsp;&nbsp; 
    <input class="css_form_namefield TooltipIstok " type="text" name="name" value="" style="width: 554px;" maxlength="50" > 
</div> 

答えて

20

ラベル要素のfor属性を使用する場合は、フォームの入力要素のIDと一致する必要があります。

<label for="field-id" style="line-height:24px;">Your Name</label><br>&nbsp;&nbsp; 
<input type="text" id="field-id"> 

すなわち、このページには、より多くの情報のために役に立つかもしれません。 http://www.w3.org/TR/WCAG-TECHS/H44.html

+0

ここに私のコードです

  
  
SOoCreative

+4

この回答は間違っています。名前ではなく、IDと一致させる必要があります。参照:http://www.w3.org/TR/html5/forms.html#the-label-element。以下の答えは正しいです。 – mtl

10

つまり、for attributeの値は、HTML 4.01用語を使用するには、別のフォームコントロールのid属性値と一致する必要があります。 Controlsは、inputtextareabuttonselect、またはobject要素で作成されます。したがって、「別名」を「a」と読み替えてください。 HTML5では、属性がlabelable elementを参照している必要があることを指定して、このやや異なる方法が適用されます。

エラーメッセージから、あなたがHTML5に対して検証しているようですので、適用されるルールはfor属性がbuttoninputtype=hidden付き以外)、keygenmeteroutputprogressを参照しなければならないということですselect、またはtextarea要素。私の推測では、ちょうどname属性がその仕事をすることができると仮定して、間違ってid属性を忘れてしまったということです。

関連する問題