2011-01-28 41 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 可能只包含一个控制元素

(强调我的)

相关问题