在 IE 中单击输入时,Jaws 不读取锚标记 (show/hide) 文本更改

Jaws does not read the anchor tag(show/hide) text change when clicking on enter in IE

在 IE 中单击回车时,Jaws 不会读取密码字段中的锚标记文本更改,例如 show/hide

我在密码字段中有一个 link(show/hide)。 link 单击该文本会发生变化。当我使用 Jaws 屏幕 reader 时,在选项卡上它第一次读取它然后它没有读取 link 标签中的任何文本更改。

我在 DOM 上与 document.activeElement 核对过。但焦点在同一元素上保持不变。

对于 show/hide 我创建了一个 link 并基于点击我正在更改同一元素的 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. 你是说你正在改变一个 link 的值,当文本改变时,改变并没有被宣布?
  2. 或者您是说 link 文本更改后,如果您离开该元素然后再返回到该元素,则不会读取新文本?

问题 #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 需要更多示例代码。如果您可以直观地看到您的文本更改但屏幕 reader 没有读取新文本,那将是一种奇怪的情况,我无法在没有看到代码的情况下进行诊断。