Как правильно отобразить сообщение об ошибке внутри fieldset - PullRequest
0 голосов
/ 19 февраля 2019

Мне нужен тег fieldset для отображения сообщения об ошибке.

При выполнении чего-то вроде:

<fieldset>
  <legend>Some Legend</legend>
  <div role="alert" aria-live="assertive" aria-relevant="all">
    My Error Message
  </div>

  ...
  <!-- formfields -->
</fieldset>

Программа чтения с экрана не читает сообщение об ошибке,но при переносе сообщения об ошибке внутри тега <label> оно читает его, но оно кажется неправильным.

Как правильно отобразить сообщение об ошибке внутри тега fieldset с точки зрения доступности

1 Ответ

0 голосов
/ 19 февраля 2019

aria-live регионы работают очень хорошо, если вы следуете нескольким простым правилам.

  • элемент с aria-live должен существовать во время загрузки страницы.то есть вы не можете динамически добавить этот атрибут после загрузки страницы.
  • , если используется значение по умолчанию aria-relevant (то есть, если вы не укажете aria-relevant), тогда об изменениях объявляется только в случае изменения текста в регионе или добавления дочерних узлов DOM.В вашем случае у вас есть «все», поэтому также будут объявлены удаленные дочерние DOM-узлы.Обратите внимание, что скрытие или скрытие элементов не считается изменением в DOM, поэтому не будет объявлено.

Несколько примечаний:

  • в целом, aria-live="polite" - этодостаточно для большинства случаев.aria-live="assertive" требуется редко, за исключением крайне срочных сообщений.
  • с использованием role="alert" дает вам неявное aria-live="assertive".вам не нужно указывать aria-live.
...