2010-11-09 53 views
0

對於這個代碼部分XHTML W3C驗證錯誤「的參考不存在的ID‘XXXXX’」

<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> 
+0

第二個例子需要固定的第一個已被校正以同樣的方式(由幾個答案):將'''

+0

@elusive - 但我對生日 – 2010-11-09 20:34:41

+0

齒輪固體3個不同的ID:然後選擇一個。 'for'屬性中不能使用多個ID。 – jwueller 2010-11-09 20:38:07

回答

2

變化在label元素的for屬性的值:

<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類,您可以確保屏幕閱讀器在用戶移入表單元素的同時仍然可以看到元素並閱讀其內容,同時隱藏可視網站中的所有其他標籤。

+0

似乎更好的解決方案 - 感謝 – 2010-11-09 21:03:51

1

沒有id="gender"name="gender"。你正在使用性。要麼使用性別,要麼使用性別。保持一致。

+0

感謝,在第二個例子做什麼呢? – 2010-11-09 20:27:02