Как скрыть ARIA-LIVE от программ чтения с экрана, но сделать так, чтобы они могли читать контент внутри? - PullRequest
0 голосов
/ 07 марта 2019

У меня на странице ARIA-LIVE такой блок:

<div
  aria-live='polite'
  role='log'
  aria-relevant='additions'
  aria-atomic='false'
  style='position: absolute; width: 1px; height: 1px; margin-top: -1px; clip: rect(1px, 1px, 1px, 1px); overflow: hidden;'>
  <div>message</div>
  <div>message</div>
</div>

И теперь, если я использую стрелки на клавиатуре, программа чтения с экрана может достичь зоны aria-live, она находится в самом низу страницы и читать содержимое, которое он содержит.

Есть ли способ скрыть арию-живую зону, но в то же время сделать так, чтобы содержимое в ней все еще нормально читалось читателем?

1 Ответ

2 голосов
/ 09 марта 2019

Это все равно, что спросить, как можно применить CSS display:none к элементу, но при этом позволить элементу быть видимым.

Вы можете скрыть элементы из программы чтения с экрана, указав aria-hidden="true".Если у вас также есть aria-live, то любые обновления этого элемента будут скрыты от программ чтения с экрана, что по существу сводит на нет цель иметь aria-live.

. Лучшее, что вы можете сделать, - это связать метку с этим регионом.сказать «этот элемент для объявления динамических обновлений», или что-то в этом роде.Пользователь программы чтения с экрана может найти его, но это ничего не повредит.Они могут легко проигнорировать это и перейти к следующему элементу.

...