2011-01-28 33 views
3

我在網上找到了一個示例,其中標籤標籤及其'for'屬性用於向瀏覽器提示標籤屬於哪個控件。例如:HTML,可訪問性:是否可以使用單個標籤來標記兩個控件?

<form> 
    <label for="male">Male</label> 
    <input type="radio" name="sex" id="male" /> 
    <br /> 
    <label for="female">Female</label> 
    <input type="radio" name="sex" id="female" /> 
</form> 

我的問題是,如果我真的有在同一個標​​籤應分配給兩者的結合兩個控件(不是每個人,如果可能的話),例如:

a label text + a numeric input field + a text (unit) input field 

我應該

  1. 標籤只分配到數字輸入的字段(因爲它不能這樣做)或
  2. 是否有可能把數字和文本INP ut字段轉換爲單個span標籤並將標籤附加到該span?
  3. 或者兩個輸入控件都可以放在單個標籤標籤內嗎?

哪種解決方案適用於所有瀏覽器的可訪問性?

回答

7

標籤的for屬性確實可以與任何元素一起使用(只要ID匹配),但僅適用於單個元素。此外,它確實只適用於表格元素。

spec

爲= IDREF [CS]

該屬性明確的標籤相關聯正在與其他控制定義。如果存在,則此屬性的值必須與同一文檔中某個其他控件的id屬性的值相同。缺席時,被定義的標籤與元素的內容相關聯。

和:

要將標籤與其他控制隱含關聯,控制元件必須在標籤元素的內容中。在這種情況下,LABEL 可能只包含一個控制元素

(強調我的)

相關問題