单击IE中的Enter键时,颚板不会读取锚标记(显示/隐藏)文本更改

时间:2019-03-29 18:01:13

标签: javascript internet-explorer angular5 accessibility jaws-screen-reader

在IE中单击Enter时,Jaws无法读取锚标记文本更改,例如在密码字段中显示/隐藏

我在密码字段内有一个链接(显示/隐藏)。链接文本在单击时发生变化。当我使用Jaws屏幕阅读器时,在选项卡上它是第一次阅读,然后它没有阅读链接标签中的任何文本更改。

我在同一DOM上使用document.activeElement进行了检查。但是重点仍然放在同一元素上。

对于显示/隐藏,我创建了一个链接,并基于单击更改了同一元素的innerHtml。

        <a id="pwdShowHideLink" class="-book show-hide-link" href="javascript:void(0)" (click) = "showHide($event)">
            {{labels?.showLink}}
        </a>
    showHide($event) {
const target = $event.target;
if(target && target.innerText === this.labels.showLink){
    target.innerHTML = this.labels.hideLink ;
 } else {
    target.innerHTML = this.labels.showLink;
}

}

1 个答案:

答案 0 :(得分:0)

不清楚您要的是什么。听起来您正在询问以下问题之一:

  1. 您是说要更改链接的值,并且当文本更改时,更改不会在更改发生时宣布吗?
  2. 或者您是说在更改链接文本之后,如果先导航到该元素然后再返回该元素,则不会读取新文本?

问题1需要使用aria-live

<a aria-live="polite" id="pwdShowHideLink" class="-book show-hide-link" href="javascript:void(0)" (click) = "showHide($event)">
  {{labels?.showLink}}
</a>

问题2将需要更多示例代码。如果您可以直观地看到您的文本更改,但屏幕阅读器无法读取新文本,那将是一种奇怪的情况,如果不查看代码就无法诊断。