在IE11中,如果警报文本包含锚标记,则它几乎会读取警报文本三次

时间:2015-08-07 14:55:38

标签: internet-explorer accessibility wai-aria jaws-screen-reader

我在我的应用程序中更新警报消息。在IE11中进行测试并且更新的警报仅为文本时,JAWS会将其读取两次。我们认为这是可以接受的,因为到目前为止它无法修复。我的纯文本错误消息是:

<span id="error" role="alert" aria-live="assertive">
    We have a very important message for you!
</span>

我的问题是,当更新的警报具有也具有锚标记的文本时,警报将被读取近三次。 &#34;近三次&#34;因为它被读取两次,然后第三次在锚标记之后停止读取。我的锚标记警报信息是:

<span id="error" role="alert" aria-live="assertive">
    We have a very important message for you!  <a href="#">Click here</a> for more information.
</span>

这是一个可以测试问题的jsfiddle:http://jsfiddle.net/W4Km8/5851/

我的IE版本是11.0.9600.17801,而JAWS是16.0.2339。

你能好好看看吗?

2 个答案:

答案 0 :(得分:0)

我得到了你用JAWS 16和IE 11描述的行为。但它在Firefox中很有用。警报只读一次。我无法让它在Chrome中运行。

JSFiddle对iPad上的VoiceOver毫无用处。我无法导航到警报按钮来测试您的示例。 VO可以看到左侧导航面板中的所有“隐藏”对象。虽然您只看到一次扩展的一个部分(框架,小提琴选项,外部资源等),但所有部分基本上都扩展为VO,因为jsfiddle没有使用aria-hidden。

如果你改变你的例子使用aria-live ='polite',那么它在IE中工作正常。

答案 1 :(得分:0)

将Role = application添加到span并添加aria-describedby =&#39;错误&#39;属性为按钮。

请进行以上更改。它会起作用。