我在网上找到了一个示例,其中label标签及其'for'属性用于提示标签所属的控件的浏览器。例如:
<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
我应该
哪种解决方案适用于所有浏览器的辅助功能?
答案 0 :(得分:7)
标签的for
属性确实可以与任何元素一起使用(只要ID
匹配),但仅适用于单个元素。此外,它实际上只对 form 元素有意义。
来自spec:
for = idref [CS]
此属性显式将正在定义的标签与另一个控件相关联。如果存在,则此属性的值必须与同一文档中某个其他控件的id属性的值相同。如果不存在,则定义的标签与元素的内容相关联。
和
要隐式地将标签与另一个控件相关联,控制元素必须位于LABEL元素的内容中。在这种情况下,LABEL 可能只包含一个控制元素。
(强调我的)