Встречается на собеседованиях • сегодня

Как должен вести себя Popup в разрезе доступности

Popup должен быть доступным для всех пользователей, включая тех, кто использует клавиатуру или скринридеры. Основные требования:

  1. Фокус: При открытии фокус должен перемещаться внутрь попапа, а при закрытии — возвращаться на элемент, который его вызвал.
javascript
// Пример управления фокусом
popup.addEventListener('show', () => {
  popupContent.focus();
});
  1. Закрытие: Должна быть возможность закрыть попап через Esc, клик вне области или кнопку закрытия (желательно с aria-label="Закрыть").

  2. ARIA-атрибуты: Используйте role="dialog", aria-modal="true" и aria-labelledby для связи с заголовком.

  3. Траппинг фокуса: Фокус не должен выходить за пределы попапа, пока он открыт.

  4. Задний слой: Затемнение фона (backdrop) должно скрываться от скринридеров (aria-hidden="true").

  5. Анимации: Учитывайте prefers-reduced-motion для пользователей с чувствительностью к движению.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы