2013-09-22 34 views
13

我不知道在检查我的网页在http://validator.w3.org/check错误是为什么我不断收到此错误:验证HTML:该为标签元素必须引用表单控件的属性

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值必须与“另一个”窗体控件的id属性值匹配才能使用HTML 4.01术语。 Controlsinput,textarea,button,selectobject元素创建,因此只需将“another”作为“a”。 HTML5对此有些不同,指定该属性必须引用labelable element

从错误信息,似乎要验证对HTML5,所以适用的规则是for属性必须指向一个buttoninputkeygenmeteroutputprogress(比type=hidden等), selecttextarea元素。我的猜测是,您只是忘记了id属性,错误地认为name属性可以完成其工作。

相关问题