首页 文章

在IE和Firefox中获取页面刷新后读取警报

提问于
浏览
2

出于可访问性目的,我需要在页面刷新后立即读取显示的“错误” .

目前我在包含错误的div上有role =“alert”和tabindex =“ - 1” . 这在谷歌浏览器中运行良好,但似乎IE或Firefox都不支持我所做的 .

在Chrome中,向用户显示包含用户名/密码字段的登录页面 . 用户“提交”表单而不填写任何信息 . 页面刷新时出现以下错误,NVDA会立即读取错误 . (我知道实时验证会很好,但会在以后完成)

<div id="notification_block">    
<div class="alert alert-danger" role="alert" aria-labelledby="alertHeading" tabindex="-1">  
    <h2 id="alertHeading">Error: Login Failed</h2>  
    <div>Invalid username/password combination. Please verify that your information is correct.</div>  
</div>             
</div>

任何想法如何让我在IE和Firefox中工作?

3 回答

  • 1

    我没有使用role =“alert”,而是将焦点设置为页面加载时的div . 这将使它可靠地成为首先被读出的东西,这是一个非常常见的解决方案 .

  • 1

    将aria属性 aria-live="assertive" 添加到错误抛出div中 . 这样,所有屏幕阅读器都能够读取所有动态显示的内容 .

  • 0

    实现此功能的唯一方法是将内容插入警报角色,直到页面的所有公告都已完成为止 . 没有办法以编程方式确定何时发生这种情况,因此您应该:

    • 等待页面加载,

    • 设置超时(比如说500毫秒)

    • 当超时触发时,将内容插入警报

    这将增加内容宣布的可能性

相关问题