0

对于这部分代码

<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 验证器将此错误引用提供给不存在的 ID“性别”

如何解决这个问题?

编辑

也到这里

引用不存在的 ID“生日”

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

2 回答 2

2

更改元素中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 类,您可以确保屏幕阅读器在用户移动到表单元素时仍能看到元素并阅读其内容,同时从可视站点隐藏所有附加标签。

于 2010-11-09T20:19:34.940 回答
1

没有id="gender"name="gender"。你在使用性。要么使用性别,要么使用性别。保持一致。

于 2010-11-09T20:19:50.813 回答