我正在尝试使我的ember.js应用程序更易于访问,并通过Apple的内置VoiceOver实用程序进行测试。我正在根据需要将 ariaRoles 添加到我的视图中,并在导航目的不明确的情况下添加 aria-label 属性。 我在将焦点放在模态警报上时遇到了问题,因为读者的注意力集中在模态后面的页面项目上。 是否有人有处理屏幕阅读器模式警报的经验?我的印象是,在我的视图中声明"ariaRole:'alertDialog'"为此类对话框设置了适当的角色,并且此角色的焦点行为可能因屏幕阅读器而异。谢谢!!!
我没有模态方面的第一手经验。从本质上讲,您的问题是您正在扮演 ARIA 角色,并期望它起作用。你需要做的不止这些。您需要牢记以下几点:
- 按下链接/按钮后,将焦点移动到模式窗口/对话框/弹出窗口。大多数模态元素只是一个
<div>
。您可以为<div>
指定tabindex="-1"
的属性。 - 在模式窗口中陷印焦点。
- 允许用户按 Esc 关闭
- 关闭时,将焦点移回链接/按钮
资源
- 带灯箱的键盘辅助功能
- UX StackExchange 的类似问题
- 演示模式对话框 - 我认为这仍在开发中(我已经有一段时间没有收到作者的消息了)。
- jQuery Google Group thread(汉斯是顶级人物或其中之一,对于这些东西)