Jaws не считывает изменение текста тега привязки (показать / скрыть) при нажатии на ввод в IE

#javascript #internet-explorer #angular5 #accessibility #jaws-screen-reader

#javascript #internet-explorer #angular5 #Специальные возможности #jaws-программа чтения с экрана

Вопрос:

Jaws не считывает изменение текста тега привязки, например, показать / скрыть в поле пароля, при нажатии на ввод в IE

У меня есть ссылка (показать / скрыть) внутри поля пароля. текст ссылки меняется при нажатии на это. Когда я использовал программу чтения с экрана Jaws, на вкладке она считывает это в первый раз, затем не считывает никаких изменений текста в метке ссылки.

Я проверил с помощью document.activeElement в том же DOM. Но фокус остается неизменным на том же элементе.

Для показа / скрытия я создал одну ссылку и на основе щелчка я изменяю 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 amp;amp; target.innerText === this.labels.showLink){
    target.innerHTML = this.labels.hideLink ;
 } else {
    target.innerHTML = this.labels.showLink;
}
  

}

Ответ №1:

Непонятно, о чем вы просите. Похоже, вы спрашиваете об одной из этих проблем:

  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 потребует большего количества примеров кода. Если вы можете визуально видеть изменение текста, но программа чтения с экрана не читает новый текст, это была бы странная ситуация, которую я не могу диагностировать, не видя кода.

Комментарии:

1. Ссылка находится внутри поля пароля в качестве элемента показать / скрыть. Jaws в первый раз считывает ссылку как «показать», а затем нажимает enter. Текст ссылки изменяется на «скрыть». Я проверил, что фокус все еще находится на том же элементе, но он не объявляет измененный текст (скрыть).

2. тогда используйте мое решение № 1. изменения текста не будут объявлены, если вы не используете aria-live .

3. Это работает так , как ожидалось . Я использую aria-live = «напористый».