Проверка HTML: атрибут for элемента label должен ссылаться на элемент управления формы

Я не знаю, почему я продолжаю получать эту ошибку при проверке моей страницы по адресу 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>

2 ответа

Решение

Если вы используете атрибут for в элементе label, он должен совпадать с идентификатором входного элемента в вашей форме.

т.е.

<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

По определению forзначение атрибута должно соответствовать id значение атрибута элемента управления "другая", чтобы использовать терминологию HTML 4.01. Элементы управления создаются input, textarea, button, select, или же object элементы, так что просто читать "другой" как "а". HTML5 объясняет это несколько иначе, указывая, что атрибут должен ссылаться на помечаемый элемент.

Из сообщения об ошибке кажется, что вы проверяете по HTML5, поэтому применяется правило, что for атрибут должен относиться к button, input (кроме как с type=hidden), keygen, meter, output, progress, select, или же textarea элемент. Я думаю, что вы просто забыли id атрибут, неправильно предполагая, что name Атрибут может сделать свою работу.

Другие вопросы по тегам