Библиотека iziToast предоставляет гибкий и удобный способ отображения уведомлений в веб-приложениях. Она позволяет создавать всплывающие сообщения различного типа: информационные, успешные, предупреждения и ошибки. Уведомления могут автоматически исчезать через заданное время, быть закреплёнными на странице и иметь настраиваемое поведение при взаимодействии пользователя.
Для создания простого уведомления используется метод
iziToast.show() или сокращённые методы
iziToast.success(), iziToast.error(),
iziToast.info(), iziToast.warning(). Основные
параметры:
iziToast.show({
title: 'Успех',
message: 'Операция выполнена успешно',
position: 'topRight',
timeout: 5000,
});
topRight, topLeft, bottomRight,
bottomLeft, center).false, уведомление будет закреплено до закрытия
пользователем.Одной из ключевых особенностей iziToast является возможность управлять фокусом на уведомлении. Это позволяет пользователю взаимодействовать с элементами уведомления через клавиатуру или направлять внимание на конкретное сообщение при множественных уведомлениях на странице.
По умолчанию уведомление не получает фокус. Для его активации используется параметр:
iziToast.show({
title: 'Внимание',
message: 'Проверьте введённые данные',
focus: true
});
При появлении нескольких уведомлений можно задавать
очередность фокуса с помощью метода
iziToast.show() и параметра onOpening:
iziToast.show({
title: 'Первое уведомление',
message: 'Это первое сообщение',
onOpening: function(instance, toast){
toast.querySelector('button').focus();
}
});
iziToast.show({
title: 'Второе уведомление',
message: 'Это второе сообщение',
onOpening: function(instance, toast){
toast.querySelector('button').focus();
}
});
Уведомления могут содержать интерактивные кнопки:
iziToast.show({
title: 'Подтверждение',
message: 'Вы уверены?',
buttons: [
['<button>Да</button>', function (instance, toast) {
instance.hide({transitionOut: 'fadeOut'});
}],
['<button>Нет</button>', function (instance, toast) {
instance.hide({transitionOut: 'fadeOut'});
}]
],
focus: true
});
iziToast поддерживает клавиатурную навигацию:
Для управления этим используется параметр focus и
события onOpening/onClosed. Пример установки
фокуса на последний элемент:
iziToast.show({
title: 'Фокус на последнем',
message: 'Навигация клавиатурой',
buttons: [
['<button>Пропустить</button>', function(instance, toast){ instance.hide(); }],
['<button>Далее</button>', function(instance, toast){ instance.hide(); }]
],
onOpening: function(instance, toast){
const buttons = toast.querySelectorAll('button');
buttons[buttons.length - 1].focus();
}
});
iziToast.show({
title: 'Ввод данных',
message: 'Введите ваш email',
inputs: [
['<input type="email" placeholder="Email">', function (instance, toast, input, e) {
console.log(input.value);
}]
],
focus: true
});
aria-live="polite" или assertive для
оповещения скринридеров.Эти параметры делают iziToast совместимым с требованиями доступности (WCAG), позволяя создавать интерфейсы, удобные для пользователей с клавиатурной навигацией или вспомогательными технологиями.
focus: true.onOpening для точной установки фокуса на
кнопку или input.Такой подход обеспечивает максимально гибкое управление вниманием пользователя и повышает интерактивность интерфейса.