验证HTML:label元素的for属性必须引用表单控件

SOo*_*ive 13 html validating

我不知道为什么我在http://validator.w3.org/check检查我的页面时一直收到此错误错误是:

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;
Run Code Online (Sandbox Code Playgroud)

这是我的实际代码

<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>
Run Code Online (Sandbox Code Playgroud)

Sha*_*arr 24

如果在label元素中使用for属性,则必须匹配表单中input元素的id.

<label for="field-id" style="line-height:24px;">Your Name</label><br>&nbsp;&nbsp;
<input type="text" id="field-id">
Run Code Online (Sandbox Code Playgroud)

此页面可能对更多信息有所帮助.http://www.w3.org/TR/WCAG-TECHS/H44.html

  • 这个答案是对的.你必须匹配id,而不是名称.请参阅:http://www.w3.org/TR/html5/forms.html#the-label-element.这个答案是正确的. (4认同)

Juk*_*ela 11

根据定义,for属性值必须与id"另一个"表单控件的属性值匹配,才能使用HTML 4.01术语.控制被创建input,textarea,button,select,或object元素,所以刚读"另一个"为"A".HTML5对此有所不同,指定该属性必须引用可标记元素.

从错误信息,似乎要验证对HTML5,所以适用的规则是for属性必须指button,input(比其他type=hidden)keygen,meter,output,progress,select,或textarea元素.我的猜测是你忘了id属性,错误地认为name属性可以完成它的工作.