我们正面临 Jaws 16 和 IE 11 的问题。我们在网页上有一些工具提示,我们将角色指定为“警报”,这样当 JAWS 读取它时,它将首先宣布“警报”,然后读取文本。它在带有 IE 11 的 JAWS 15 上运行良好。现在 Jaws 已发布版本 16,我们已升级到该版本,因为它没有在 IE 11 中出现工具提示时宣布“警报”。这与 Fire Fox 完美配合。
带有 IE 的 JAWS 16 有什么问题吗?
我们正面临 Jaws 16 和 IE 11 的问题。我们在网页上有一些工具提示,我们将角色指定为“警报”,这样当 JAWS 读取它时,它将首先宣布“警报”,然后读取文本。它在带有 IE 11 的 JAWS 15 上运行良好。现在 Jaws 已发布版本 16,我们已升级到该版本,因为它没有在 IE 11 中出现工具提示时宣布“警报”。这与 Fire Fox 完美配合。
带有 IE 的 JAWS 16 有什么问题吗?
JAWS 16 最近发布了 2015 年 1 月的更新,解决了与 IE 相关的一些问题,其中一个可能会解决您的问题:
http://www2.freedomscientific.com/downloads/jaws/jaws-whats-new.asp
如果您已经有了 2015 年 1 月的更新,那么值得将您的问题的详细信息发送给他们的技术支持:
Jaws 2015 年 5 月的最新更新似乎并没有解决在 IE11 中读取两次警报的问题。IE11有一个技巧可以解决这个问题:
<div id="AriaAlertReceiver" aria-live="polite"></div>
EmsUtils.showAriaAlert = function(msg) {
var alertDiv = $("#AriaAlertReceiver");
if (alertDiv[0]){
// Set the alert text in a div - it already has aria-live=polite
// This will be actually ignored by IE for now
alertDiv.html(msg);
setTimeout(function () {
// Change the message again after a short time - now IE does detect it
if (zk.ie >= 11) {
alertDiv.html(msg + "!");
}
setTimeout(function () {
// Remove the alert after a short time, so it can be used again later
alertDiv.html("");
}, 1000);
}, 100);
}
}
诀窍是设置两倍的活动区域文本。第一次被 IE11 忽略,但第二次检测到更改。aria-live=polite 似乎就足够了。上面的示例适用于 2015 年 5 月的 IE11 和 Firefox 37 以及 Jaws 16,在 Windows 7 上。(Chrome 没有发布公告,但这不是我的目标)