ARIA (Accessible Rich Internet Applications) — это набор атрибутов, предназначенных для повышения доступности веб-приложений. Библиотека iziToast использует ARIA-атрибуты для уведомлений, чтобы обеспечить корректное взаимодействие с экранными читалками и другими вспомогательными технологиями. Понимание того, как они применяются, важно для создания доступного интерфейса.
В iziToast уведомления автоматически получают ARIA-атрибуты, которые сообщают пользователю о типе и важности сообщения:
role=“alert” Этот атрибут сигнализирует, что уведомление является важным и требует немедленного внимания. Экраные читалки озвучивают текст уведомления сразу после появления на странице. Используется для сообщений об ошибках, предупреждений или успешного завершения действий.
aria-live=“polite” / “assertive” Атрибут
aria-live контролирует, как и когда экранные читалки
озвучивают изменения содержимого. В iziToast по умолчанию
используется:
"polite" — уведомление озвучивается после завершения
текущего чтения."assertive" — уведомление прерывает текущее чтение и
сразу озвучивается. Это важно для выбора между ненавязчивыми
уведомлениями и критически важными сообщениями.iziToast поддерживает управление фокусом через ARIA, что помогает пользователям клавиатуры и экранных читалок:
aria-describedby Используется для привязки уведомления к конкретному элементу страницы, который описывает его содержание. Например, при подтверждении действия можно указать, какой элемент связан с уведомлением.
aria-hidden=“true” / “false” Позволяет скрывать уведомления от вспомогательных технологий, если они не предназначены для озвучивания, например, когда используется фоновые сообщения или временные подсказки.
Все ARIA-атрибуты можно настраивать через объект опций при создании уведомления:
iziToast.show({
title: 'Ошибка',
message: 'Невозможно сохранить данные',
color: 'red',
position: 'topRight',
theme: 'light',
ariaRole: 'alert', // role уведомления
ariaLive: 'assertive', // уровень озвучивания
ariaHidden: false // видимость для экранных читалок
});
Пояснения:
ariaRole определяет, как уведомление классифицируется
(alert, status, log и др.).ariaLive управляет приоритетом озвучивания.ariaHidden позволяет скрывать уведомление, если оно не
критично для пользователя.iziToast генерирует уведомления динамически, добавляя их в DOM только
при вызове iziToast.show(). Для корректной работы ARIA:
display: none. Вместо
этого использовать скрытие через aria-hidden или
opacity: 0, чтобы уведомление оставалось доступным для
вспомогательных технологий.role="status" и
aria-live="polite". Сообщения информативные, не прерывающие
текущий поток речи.role="alert" и
aria-live="assertive". Требуют немедленного внимания.role="status" с aria-live="polite", так как
они носят справочный характер.title и
message, чтобы экранные читалки могли корректно озвучивать
уведомление.Правильное использование ARIA-атрибутов в iziToast делает уведомления полностью доступными, обеспечивает своевременное оповещение пользователей и повышает общую доступность веб-приложения.