【问题标题】:HTML, accessibilty: is it possible to label two controls with a single label?HTML,可访问性:是否可以用一个标签标记两个控件?
【发布时间】:2011-01-28 10:54:57
【问题描述】:

我在网上找到了一个例子,其中标签标签及其'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  

我应该

  1. 仅将标签分配给数字输入字段(因为无法完成)或
  2. 是否可以将数字和文本输入字段放入单个跨度标签并将标签附加到该跨度?
  3. 或者两个输入控件都可以放在单个标签标签内吗?

哪种解决方案适用于所有浏览器的可访问性?

【问题讨论】:

    标签: accessibility label html


    【解决方案1】:

    标签的for 属性确实可以与任何元素一起使用(只要ID 匹配),但只能用于单个元素。此外,它真的只对 form 元素有意义。

    来自spec:

    for = idref [CS]

    此属性显式地将正在定义的标签与另一个控件相关联。如果存在,此属性的值必须与同一文档中某个其他控件的 id 属性的值相同。如果不存在,则定义的标签与元素的内容相关联。

    还有:

    要将标签与另一个控件隐式关联,控件元素必须在 LABEL 元素的内容内。在这种情况下,LABEL可能只包含一个控制元素。

    (强调我的)

    【讨论】:

      猜你喜欢
      • 2013-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-11
      • 2014-08-01
      • 1970-01-01
      相关资源
      最近更新 更多