【问题标题】:Is it accessible to have the label after the input?输入后是否可以使用标签?
【发布时间】:2017-03-26 11:19:04
【问题描述】:

如果标签位置在输入元素之后,我想知道下面的代码sn-p是否无法访问?

<input type="text" id="txt">
<label for="txt">Label Text</label>

在我使用 NVDA(屏幕阅读器)进行测试期间,按下箭头键会读取输入字段后的标签。

这是必须将标签元素保持在顺序第一位吗?

向下箭头键是表单元素的有效测试吗?

小提琴:https://jsfiddle.net/yjqb6mt2/

【问题讨论】:

  • 它可能是从上到下阅读你的标签在底部

标签: label accessibility forms wcag2.0 nvda


【解决方案1】:

这是必须将标签元素保持在顺序中吗?

使用屏幕阅读器就足够了,因为屏幕阅读器会自动获取可访问的名称。

但是使用屏幕放大镜或盲文显示器,您必须保持正常的阅读顺序。所以这将无法访问。

向下箭头键是表单元素的有效测试吗?

每个导航键都必须经过测试,因此还不够。

编辑:WCAG 参考资料:

H44: Using label elements to associate text labels with form controls

对于textfilepassword 类型的所有input 元素,对于网页中的所有文本区域和所有select 元素:

检查在inputtextareaselect 元素之前 是否有标识控件用途的label 元素

另见Meaningful Sequence

1.3.2 有意义的顺序:当呈现内容的顺序影响其含义时,可以通过程序确定正确的阅读顺序。 (A级)

【讨论】:

  • WCAG - W3 Org 是否为此指定了任何标准指南?
  • Adam:标签与带有 id 和组合的输入相关联。考虑到输入字段的材料设计,给定的 HTML sn-p 是否失败 AA(屏幕放大镜或盲文显示器)?
  • @Maayi 我编辑了我的答案以链接到input[text] 元素的 WCAG 技术中的引用
  • 关于 H44 的注意事项——它是一种技术,所以它是建议性的。除非在 SC 本身中,否则不需要在字段前放置标签。对于给出的示例,屏幕放大镜用户应该没有问题,因为文本标签在视觉上位于字段上/字段内。这也将通过 WCAG AA。对于 OP,请记住 WCAG A/AA/AAA 合规性和可访问性(对于所有用户或部分用户)并不总是一回事。
  • 有意义的序列意味着可以“以编程方式确定”阅读顺序。这意味着您的标签在 DOM 中的顺序必须与阅读顺序相同,这与您可能使用屏幕阅读器(在您的示例中应该没有问题)或您的 CSS 可能会在视觉上改变顺序无关.
【解决方案2】:

这是必须将标签元素按顺序保持在第一位吗?

没有。

向下箭头键是表单元素的有效测试吗?

不是真的。

将焦点放在字段上,无论是通过 Tab 键还是使用其他键盘命令选择它。当该字段获得焦点时,屏幕阅读器将宣布其可访问的名称。在这种情况下,可访问的名称来自&lt;label&gt;

想想单选按钮和复选框。标签文本通常出现在源代码中的字段之后。这对屏幕阅读器用户来说不是问题。

话虽如此,如果一个字段没有标签,那么屏幕阅读器用户可能会使用向上箭头键来尝试找到它的标签,除非它是一个复选框或单选按钮(然后是向下箭头)。

总之,你的代码没问题。

【讨论】:

  • 感谢您的澄清。
猜你喜欢
  • 2017-12-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多