Если у меня есть 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>