#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 требует использования 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 = «напористый».