Если у меня есть 3 кнопки на странице, и выбор одной из них приводит к их скрытию, а затем отображает другой элемент div, содержащий некоторые элементы формы, я хочу правильно уведомить новое добавленное содержимое, как показано. Насколько я понимаю, динамические изменения содержимого, такие как показ региона, должны обрабатываться должным образом с точки зрения WCAG. Есть ли стандартный способ справиться с этим с точки зрения aria / html?
Я пробовал aria-live, так как это часто предлагается для этого сценария на внешней div
новой области, но дажес aria-live="polite"
я получаю нежелательные побочные эффекты. Допустим, показанная область содержит небольшую форму. Когда фокус перемещается к текстовому полю, и я начинаю печатать, я получаю странное поведение, что JAWS будет неоднократно начинать читать метку снова и снова для каждого нажатия клавиши, когда пользователь вводит символы на входе. Если я удаляю атрибут aria-live
в родительском div, то при переходе по форме метка читается только один раз в фокусе поля и больше не читается, когда пользователь печатает.
Т.е. кажется, что родитель, имеющий aria-live, вызывает более агрессивное чтение дочерних элементов, таких как метки, даже если отображаемая область является однократным изменением, и после этой точки динамических изменений нет.
Такое странное поведение, по-видимому, подразумевает, что aria-live лучше подходит для небольших изолированных элементов, таких как ошибки / оповещения, добавляемые на страницу, а не для больших регионов.
Должен ли я использовать рольвместо?
<form role="form" action="/submit" method="post">
<div hidden id="section1" aria-live="polite">
<h2>Form Header</h2>
<div>
<label for="RequestNumber">Request Number*</label>
<input id="RequestNumber" name="RequestNumber" type="text" />
</div>
</div>
</form>