Jaws 16 not reading “alert” role in IE 11

馋奶兔 提交于 2019-12-05 20:20:50

JAWS 16 has recently released the January 2015 update that addressed some issue relating to IE and one of them might resolve your issue:

http://www2.freedomscientific.com/downloads/jaws/jaws-whats-new.asp

In case you already have the January 2015 update then, its worth sending the details of your issues to their technical support:

http://www.freedomscientific.com/Forms/TechSupport

The latest update of Jaws from May 2015 doesn't seem to solve the problem that alerts are read twice in IE11. There is a trick to solve this issue with 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);
    }
}

The trick is to set twice the text of the live region. The first time is ignored by IE11, but the second time the change is detected. aria-live=polite seems to be enough. The example above works in IE11 and Firefox 37 with Jaws 16 from May 2015, on Windows 7. (Chrome doesn't make the announcement, but that's not in my target)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!