14

我不知道为什么在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;

这是我的实际代码

<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>
4

2 回答 2

26

如果在标签元素中使用 for 属性,它必须与表单中输入元素的 id 匹配。

IE

<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

于 2013-09-22T16:06:34.373 回答
11

根据定义,for属性值必须与id“另一个”表单控件的属性值匹配,才能使用 HTML 4.01 术语。控件inputtextareabuttonselectobject元素创建,因此只需将“另一个”读作“a”。HTML5 对此有所不同,指定属性必须引用可标记元素

从错误消息来看,您似乎正在针对 HTML5 进行验证,因此适用的规则是该for属性必须引用一个button, input(除了 with type=hidden)、keygenmeteroutputprogressselecttextarea元素。我的猜测是您只是忘记了该id属性,错误地假设该name属性可以完成其工作。

于 2013-09-22T16:45:03.337 回答