- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我只是注意到,虽然 aria-label
, aria-labelledby
和 aria-describedby
据说属性适用于每个元素(参见 https://www.w3.org/WAI/PF/aria-1.1/states_and_properties#aria-describedby ),但它们似乎只适用于少数元素,如 a
,而不是例如div
或 p
在 NVDA 和 JAWS 中。
我创建了一个小代码笔来演示这个问题(使用浏览和焦点模式浏览它):
https://codepen.io/jmuheim/pen/avWbPe
例如,在 NVDA 中,在 a
上元素,aria-label
和 aria-labelledby
似乎在浏览和聚焦模式下都可以工作。但是aria-describedby
仅在焦点模式下公布,不在浏览模式下公布。
对于 input
元素,似乎没有一个属性在浏览模式下工作,但都在焦点模式下工作。
对于“裸”文本元素,如 p
或 div
,这些属性似乎都不起作用。
在 JAWS 中,它的行为非常相似,但至少对于 p
元素,当存在 aria-describedby
时,它宣布可以通过按“JAWS + alt + r”来阅读描述。
我真的没有看到明确的模式,所以我想知道屏幕阅读器中如何使用这些属性的一般规则是什么?或者更好:为什么它们不像规范建议的那样简单地适用于每个元素?
最佳答案
ARIA 没有定义辅助技术如何暴露 UI。它确实定义了 browsers are required通过可访问性 API 公开角色、状态和属性。通常与 HTML 相同,HTML 规范没有定义/要求 UI,这由浏览器决定。
对于 aria-label(例如),ARIA 要求将 aria-label 映射到 accessibility APIs 中的可访问名称属性。 ,这不是要求屏幕阅读器在任何给定元素上宣布或不宣布它(即作为听觉 UI 的一部分公开)。
一般观察规则是屏幕阅读器将宣布 accessible names and accessible descriptions在 interactive elements .他们将在大多数 grouping elements 上宣布可访问的名称和 sectioning elements .他们将宣布都不是 在大多数 text level elements .
注:以上也适用于任何默认语义被 ARIA 角色覆盖的元素。例如 ARIA widget roles将同时公布 acc 名称和描述,就像原生 HTML 交互元素一样。
关于accessibility - aria-label、aria-labelledby 和 aria-describedby : very unforeseeable behaviour in screenreaders,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32951169/
以下 HTML 由 jQuery Grid 插件插入: Sam “aria-describedby”属性的含义是什么? 最佳答案 这在 aria specification 中有描述.它给出了一个元素
我正在为我的表单控件创建可访问的帮助文本。我计划使用 aria-describedby 将可访问的描述附加到字段。讨论了这种方法 here 尽管在我使用 ChromeVox 扩展程序和 Windows
我试图让 voiceover 只读取 aria-describedby,但它是这样读取的(“我是一个按钮”未被读取) : 而如果有一个定义了 id aria-describedby="modal-la
我已经四处搜索,如果可以将 aria-label 组合起来,我没有找到任何信息。和 aria-describedby对于一个元素,它是否会导致使用屏幕阅读器的人感到困惑? 我有一个包含许多项目的列表,
我试图在选择框上使用 aria-describedby,但 JAWS 没有公布在 IE 中使用 aria-describedby 属性关联的文本。我什至将 tabindex="-1"添加到正在引用的
问题如标题所述,这是我的 HTML 代码。 setup HELLO WORLD Jaws 声明如下:“链接设置...按 Jaws 键、Alt 键和 R 以阅读 aria-describedby”。
我是一名致力于使应用程序更易于访问的开发人员,我对 JAWS 还很陌生。 我读到的关于 aria-describedby 的所有内容都让我相信,将它添加到具有包含描述的元素的 ID 的 fieldse
我是一名致力于使应用程序更易于访问的开发人员,我对 JAWS 还很陌生。 我读到的关于 aria-describedby 的所有内容都让我相信,将它添加到具有包含描述的元素的 ID 的 fieldse
我在 bootstrap 的很多地方都找到了这些属性。我在 google 中搜索了它们并询问了很多人。但是找不到合适的答案。 虽然我在这个网站上找到了一些关于“aria-hidden”的答案,但我还是
我将最新版本的 jQuery Validation Unobtrusive 与最新版本的 jQuery Validate 结合使用。验证本身就像一个魅力。但是,如果该字段无效,值将添加到 aria-d
我只是注意到,虽然 aria-label , aria-labelledby和 aria-describedby据说属性适用于每个元素(参见 https://www.w3.org/WAI/PF/ari
我开始研究可访问性。 aria-labelledby 和 aria-describedby 在 Chrome 和 Firefox 中运行良好,但在 IE 中无法被 NVDA 正确读取。 div 1 d
我开始研究可访问性。 aria-labelledby 和 aria-describedby 在 Chrome 和 Firefox 中运行良好,但在 IE 中无法被 NVDA 正确读取。 div 1 d
我是一名优秀的程序员,十分优秀!