Ошибка проверки XHTML w3c "ссылка на несуществующий идентификатор" xxxxx "" - PullRequest
0 голосов
/ 09 ноября 2010

Для этой части кода

<label for="gender">I am:</label>
<select class="select" name="sex" id="sex">
  <option value="0">Gender:</option>
  <option value="1">Female</option>
  <option value="2">Male</option>
</select>

W3C Validator, выдающий эту ошибку ссылка на несуществующий идентификатор "пол"

Как это решить?

Редактировать

Как сюда добраться

ссылка на несуществующий идентификатор "день рождения"

<label for="birthday" class="birthday">Birthday:</label>

<div class="field_container"> 

<select name="birthday_month" id="birthday_month" class="">
<option value="-1">Month:</option>
<option value="1">Jan</option>
<option value="2">Feb</option>
<option value="3">Mar</option>
</select> 
<select id="birthday_day" name="birthday_day">
<option value="-1">Day:</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<select id="birthday_year" name="birthday_year">
<option value="-1">Year:</option>
<option value="2010">2010</option>
<option value="2009">2009</option>
<option value="2008">2008</option>

</select>
</div>

Ответы [ 2 ]

2 голосов
/ 09 ноября 2010

Изменить значение атрибута for в элементе label:

<label for="sex">I am:</label>

Изменить, чтобы добавить:

Ваш второй пример более сложный, потому что вы используете одну метку для трех полей ввода.

Я бы порекомендовал что-то вроде следующего:

Добавьте следующее правило CSS на свой сайт:

.hidden_label {
  font-size:1px;
  height:0;
  line-height:0;
  margin:0 0 0 -1000px;
  text-indent:-9999px;
}

Затем обновите форму:

<div class="birthday">Birthday:</div>

<div class="field_container"> 

<label for="birthday_month" class="hidden_label">Birthday Month</label>
<select name="birthday_month" id="birthday_month" class="">
  <option value="-1">Month:</option>
  <option value="1">Jan</option>
  <option value="2">Feb</option>
  <option value="3">Mar</option>
</select> 

<label for="birthday_day" class="hidden_label">Birthday Day</label>
<select id="birthday_day" name="birthday_day">
  [...]
</select>

<label for="birthday_year" class="hidden_label">Birthday Year</label>
<select id="birthday_year" name="birthday_year">
  [...]
</select>

Вы хотите сделать две вещи:

Создайте визуально привлекательную форму для своих пользователей, а затем для тех пользователей, которые используют вспомогательные технологии, по пути предоставьте несколько дополнительных помощников. Используя класс CSS, который я определил выше, вы гарантируете, что программы чтения с экрана будут по-прежнему видеть элементы и считывать их содержимое, когда пользователь перемещается в элементы формы, скрывая все дополнительные метки от визуального сайта.

1 голос
/ 09 ноября 2010

Нет id="gender" или name="gender". Вы используете секс. Или используйте секс или используйте пол. Держите это последовательным.

...