【发布时间】:2016-07-22 04:26:58
【问题描述】:
问题:我遇到了一个正在努力解决的可访问性问题。我有一个角度网络应用程序。加载内容时会显示页面加载微调器/指示器。当页面内容加载后,微调器被隐藏。这个“div”永远不会从 DOM 中删除。
在显示加载 div 时,不会读取加载 div 的内容(通过 NVDA 或颚)。
<div class='loading' aria-live='polite' aria-label='Do not refresh the page' tabindex="-1">Do not refresh the page</div>
我不想更改应用程序的结构,而是使用“aria 标签”来解决这个问题,只是想知道我是否需要做更多的事情来让 aria-live 工作?
更新(2016 年 7 月 27 日)
进一步澄清:我不是从 DOM 中删除内容,而是使用 css 显示/隐藏内容(显示:无显示:块,反之亦然)
【问题讨论】:
-
我的 Angular 水平很低,但你有 URL 分享吗?不想改变结构意味着我不太可能提供帮助。
-
@aardrian 我不想改变结构的意思是寻求一个解决方案的建议,如果我不这样做,也许可以指出我正确使用 aria-live 就在上面.但如果您有任何其他想法,如果能解决我的问题,我将不胜感激。
-
你能澄清你的问题吗?您是说屏幕阅读器不会大声读取加载的 div 内容(“不要刷新页面”)吗? Aria-live 旨在仅在其内容更改或显示更改(例如从 display: none 到 display: block )时读出其元素内容。
-
@Josh 我已更新问题(2016 年 7 月 27 日)以提供更多详细信息。
标签: angularjs accessibility wai-aria aria-live