我尝试在我们的在线应用程序中为具有屏幕阅读器的用户提供辅助功能,其中错误/警告/信息消息对于使用非常重要。
如果我通过ajax添加消息,则aria-live和role =" alert"属性做得很好。首先读取消息,然后读取其他元素。
第二种可能性是,消息在页面上呈现,这是get-request的结果。然后不读取消息,它们是页面内容。因此,用户必须导航到此消息,否则他们将无法阅读。
是否有可能在页面加载时读取消息?我尝试使用JAWS 17和IE 11。
答案 0 :(得分:3)
通过用户执行的任何操作更新消息时,将焦点发送到消息。您可以使用链接执行此操作,例如<a href=#messages>
的{{1}}或您的脚本。如果您的消息已经在可聚焦元素中,则可能不需要tabindex。
答案 1 :(得分:1)
除了按照另一个答案中的描述设置焦点之外,最好在页面标题中包含错误指示,因为它是用户听到的第一件事。
E.g。 与我们联系 - 页面上有2个错误
答案 2 :(得分:0)
我添加了一个带有role =“alert”的额外(隐藏)区域,并使用javascript进行更新。这样我获得了最好的结果,即在POST(ajax)和GET请求上读取消息。