【发布时间】:2021-07-25 12:28:35
【问题描述】:
我正在研究在悬停卡片时显示描述文本的小部件,为了使其可访问,当标题具有标签焦点时,描述文本也会打开,因此我在标题中添加了 tabindex="0",
The issue I am facing is in Internet Explorer and JAWS screen reader, the heading is not read out when the tab focus goes to the heading text.
我尝试添加 aria-label 和 role="document" 仍然面临同样的问题。
也经历了这个 DIV ARIA-LABEl not being read by JAWS ,与将 aria-label 应用于跨度相关的解决方案不起作用,
并且与添加仅屏幕阅读器文本(带有 sr-only 类)相关的点将导致其他屏幕阅读器(例如 NVDA 和 Iphone)出现双重文本问题。
以下是 DOM 结构的外观:
<div class="card contaienr">
<div class="card">
<div class="content">
<h3 tabindex="0" aria-level="3" role="heading">
<span>
Heading Text 1
</span>
</h3>
<div>
<span>
Description text
</span>
</div>
</div>
</div>
<div class="card">
<div class="content">
<h3 tabindex="0" aria-level="3" role="heading">
<span>
Heading Text 1
</span>
</h3>
<div>
<span>
Description text
</span>
</div>
</div>
</div>
</div>
【问题讨论】:
-
您是否尝试过使用
Tab键转到可聚焦元素。或使用其他导航快捷方式,具体取决于所使用的导航模式(浏览或焦点模式)。 -
我刚刚将您的代码复制到一个 html 文件中,在 IE 中打开它并运行 JAWS,当我选择标题时,我听到:“标题文本 1,标题级别 3”。这正是我所期望的。你在听什么?请注意,您有不需要的额外代码。你有一个
所以你不需要 aria-level=3 也不需要 role=heading。
-
@XudongPeng,是的,我正在使用 Tab 键转到可聚焦元素,使用箭头键可以很好地读出它,但扩展卡功能只能使用 Tab 键,跨度>
-
@slugolicious 是的,示例代码按预期工作,我不知道为什么,它在小部件上不起作用,我会让代码尽可能接近真实的小部件并返回你。 (关于角色和 aria 级别的冗余,我明白了你的观点)
标签: html internet-explorer accessibility jaws-screen-reader