我不知道为什么我在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>
这是我的实际代码
<div>
<label for="name" style="line-height:24px;">Your Name</label><br>
<input class="css_form_namefield TooltipIstok " type="text" name="name" value="" style="width: 554px;" maxlength="50" >
</div>
答案 0 :(得分:24)
如果在label元素中使用for属性,则必须匹配表单中input元素的id。
即
<label for="field-id" style="line-height:24px;">Your Name</label><br>
<input type="text" id="field-id">
此页面可能对更多信息有所帮助。 http://www.w3.org/TR/WCAG-TECHS/H44.html
答案 1 :(得分:11)
根据定义,for
attribute值必须与“另一个”表单控件的id
属性值匹配,才能使用HTML 4.01术语。 Controls由input
,textarea
,button
,select
或object
元素创建,因此只需将“其他”视为“a” 。 HTML5对此有所不同,指定该属性必须引用labelable element。
从错误消息中,您似乎正在针对HTML5进行验证,因此适用的规则是for
属性必须引用button
,input
(除了type=hidden
),keygen
,meter
,output
,progress
,select
或textarea
元素。我的猜测是你忘记了id
属性,错误地认为name
属性可以完成它的工作。