Jaws screen reader IE角色=";“警惕”;未在页面加载时读取

Jaws screen reader IE角色=";“警惕”;未在页面加载时读取,jaws-screen-reader,Jaws Screen Reader,我正在为我的项目添加可访问性支持,最近发现如果元素使用IE11加载页面,JAWs不会使用role=“alert”读取元素 我有一个页面,它向服务器提交输入,并在没有可用数据的情况下接收带有错误范围的响应。错误span已分配role=“alert”。使用chrome时,页面加载后会立即读取错误,但IE似乎忽略了该错误 我无法将焦点设置为错误范围,因为焦点需要设置为错误原因字段 我用的是JAWs 2019和IE11 作为一个测试示例, 使用IE11简单地打开HTML文档,内容如下: <h1&g

我正在为我的项目添加可访问性支持,最近发现如果元素使用IE11加载页面,JAWs不会使用role=“alert”读取元素

我有一个页面,它向服务器提交输入,并在没有可用数据的情况下接收带有错误范围的响应。错误span已分配role=“alert”。使用chrome时,页面加载后会立即读取错误,但IE似乎忽略了该错误

我无法将焦点设置为错误范围,因为焦点需要设置为错误原因字段

我用的是JAWs 2019和IE11

作为一个测试示例, 使用IE11简单地打开HTML文档,内容如下:

<h1>title</h1>
<span role=alert>this is an alert</span>
标题
这是警报
在我的测试中,量程没有立即读出

更新:
JAWs 2019在我的测试中与IE11中的其他警报元素配合良好。只有当我看到问题时,页面才会加载一个警报元素。加载报警元件后,钳口应叙述报警元件。Chrome正在按预期工作。

听起来您没有正确使用。它不应该在页面加载时阅读。如果存在一些浏览器和屏幕阅读器组合,其中读取,则该组合不符合html和aria规范

为了澄清这一点,如果您使用
role=“alert”
,则会得到一个隐式
aria live=“assertive”
。所以这个问题实际上是关于
aria live

如果
aria-live
区域的内容发生更改,则屏幕阅读器只能自动读取该区域。如果在区域中插入文本,或向该区域添加新的DOM元素,则在进行更改时将读取这些元素。您可以控制读取的更改类型。文本更改和DOM添加是默认设置。您还可以使用控制在活动区域内读取的信息量

@罗伊在评论部分说,可能有一个重复的问题。这不是同一个问题,因为另一个问题正确使用了
aria-live

您真正想要做的是在页面上有一个现有的活动区域,例如


然后,从服务器返回给您的
不需要
role=“alert”
。它可以返回一个包含错误消息的

这是一个警报
然后您必须将此消息注入


这是警报
现在您将听到屏幕阅读器读取的“这是警报”

可能重复的