html - 无法将 div 设置为屏幕阅读器可读

标签 html css accessibility wai-aria screen-readers

问题:我有一个嵌套在具有按钮作用的 span 标签内的 div,每当 span 按钮聚焦时,我想要发生的是屏幕阅读器“读取”嵌套 div 中的文本—— > 当 span 获得焦点时的 p 标签

<span role="button" tabindex = 0>
    <div id= "nestedDiv" aria-hidden ="false" tabindex = 0>
           <p tabindex =0> Read this text </p>
     </div>
</span>

我尝试了不同的屏幕阅读器和不同的浏览器,同样的问题,它不读取 div,它只是跳到下一个可读元素。

最佳答案

我在 NVDA + firefox 中试过这个,当我切换到 span 时,它显示为“read this text. button”。您在使用哪个浏览器时遇到问题?
您可以尝试在段落中添加一个 ID,例如 <p id="foo">并添加 aria-labelledby="foo"<span> .
然而:
Karl Brown 的评论是 100% 准确的——最好使用语义标记。跨度有作用吗?如果是这样,它应该是一个按钮。它会将您带到不同的页面吗?如果是这样,它应该是一个 anchor 。
另外,为什么这么多tabindex?需要三个选项卡才能脱离此元素,这并不好。如果您使用适当的语义,您将不需要 tabindex 并且您将不需要任何 aria 属性。

关于html - 无法将 div 设置为屏幕阅读器可读,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36612773/

相关文章:

javascript - iOS 11.2.5 上的文本区域插入符不旋转

html - 在可访问菜单(html 格式)、制表符或箭头键中移动焦点的当前最佳做法是什么?

html - 让屏幕阅读器读取跨度文本的正确方法是什么

html - 无法在 Firefox 中播放任何类型的视频

html - 在 ASP.NET for CSS 中使用管理样式

javascript - 如何在视频标签上播放ar​​raybuffer?

html - 强制 DIV 在所有边上具有相同的边距

javascript - 将文本框上的用户输入限制为特定字母

javascript - 为什么这行 Jquery selectiong ALL div's with the class=rule-name?

css - 如何使背景图像可访问?