javascript - 如何使用 WAI-ARIA 通知屏幕阅读器 div 现在可见

标签 javascript html accessibility screen-readers wai-aria

如何使用 WAI-ARIA 通知屏幕阅读器 div 现在可见?

如果我们得到html

<div id="foo">Present main content</div>
<div id="bar" style="display: none;">Hidden content</div>

然后我们

$('#foo').hide();
$('#bar').show();

我们如何通知屏幕阅读器他们应该通知用户现在可见的 div(或者可能自动聚焦到现在可见的 div)?

最佳答案

您通常不需要告诉屏幕阅读器内容现在可见。使用 aria-hidden 在实践中没有任何区别,所以我建议不要使用它。如果您希望屏幕阅读器读出隐藏的 div 的文本内容,您可以使用 role=alertaria-live=polite(例如)。您可以将此用于您希望屏幕阅读器听到的更新内容,而无需移动到内容位置来发现它。例如,弹出消息未获得焦点,但包含在用户按下按钮等操作后与用户相关的文本信息。

更新:我和一位开发 ARIA 1.0 的人讨论过,他建议使用 HTML5 hidden而不是 aria-hidden 作为内容被隐藏的语义指示。将它与 CSS display:none 一起用于旧版浏览器。支持 HTML5 hidden 的浏览器使用用户代理样式表中的 display:none 实现它。

关于javascript - 如何使用 WAI-ARIA 通知屏幕阅读器 div 现在可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10349987/

相关文章:

javascript - 使用 MomentJS 的 Javascript 中的无效日期

javascript - 制作圆周运动选择菜单

html - VBA 获取用于更改 ID 的 HTML 元素信息

android - 可访问性阅读将 ListView 中的项目显示为列表项 + 标题 View

ios-simulator - 如何关闭 iOS 9 模拟器中的辅助功能检查器?

html - aria-descriptedby 但默认情况下为空文本错误 - 这是正确的吗?

javascript - Angular js ng重复条件ng类不应用css类

javascript - 制作 "Mark all"按钮

javascript - SailsJS 返回所有数据

javascript - JQuery——如何实现类似 mac os dock 的显示/隐藏行为的动画?