Кратко
СкопированоСостояние изменяющихся областей из WAI-ARIA. Делает часть страницы изменяющейся или «живой» областью. aria указывает на то, что элемент сейчас изменяется, поэтому вспомогательная технология должна подождать и пока ничего не рассказывать.
Пример
Скопировано
<h2>Пока вас не было</h2><section role="feed" aria-live="polite" aria-busy="true"> <article> <!-- Содержание поста --> </article></section>
<h2>Пока вас не было</h2>
<section
role="feed"
aria-live="polite"
aria-busy="true"
>
<article>
<!-- Содержание поста -->
</article>
</section>
Как пишется
СкопированоДобавьте к любому тегу или ARIA-роли aria с одним из двух значений:
false(по умолчанию) — без изменений.true— все изменения завершились и о них можно рассказать.
aria используют в сложных компонентах. Например, в фиде (ленте новостей) как в социальных сетях. В этом случае на время загрузки задайте фиду aria, а после окончания удалите атрибут. Так скринридеры расскажут об изменениях только тогда, когда пользователь нажмёт кнопку «Обновить ленту» и все элементы загрузятся. Также можно переключать значения атрибута с true на false. В обоих случаях скринридеры вас поймут.
Чтобы удалить или добавить атрибут, понадобятся методы .set или .remove.
В примере посты в блоке с ролью feed загружаются с разными интервалами. Чтобы дождаться, пока всё загрузится, установим aria на нужный интервал времени, а потом удалим. В реальных ситуациях обычно отслеживают окончание загрузки нового содержимого страницы. Дополнительно добавим aria, чтобы скринридеры точно прочитали все новые посты.
<section role="feed" aria-live="polite" aria-atomic="true"> <article> <a href="#user1">Дока</a> <p>Сегодня я съел невероятно вкусный морковный торт.</p> </article> <article> <a href="#user2">Стрела в колене</a> <p>Продам гараж, куплю машину.</p> </article> <article class="post"> <a href="#user3">Исторический вестник</a> <p>Как часто вы думаете про Римскую империю?</p> </article></section>
<section
role="feed"
aria-live="polite"
aria-atomic="true"
>
<article>
<a href="#user1">Дока</a>
<p>Сегодня я съел невероятно вкусный морковный торт.</p>
</article>
<article>
<a href="#user2">Стрела в колене</a>
<p>Продам гараж, куплю машину.</p>
</article>
<article class="post">
<a href="#user3">Исторический вестник</a>
<p>Как часто вы думаете про Римскую империю?</p>
</article>
</section>
Как понять
СкопированоИзменяющаяся область — это область страницы, в которой содержимое обновляется из-за внешних событий или действий пользователей. Благодаря изменяющимся областям вспомогательные технологии узнают об обновлениях на странице и автоматически рассказывают о них пользователям.