Качество сайта · Доступность

Доступность модальных окон

Делаем модальные окна (попапы, диалоги) доступными: фокус удерживается внутри окна, скринридер объявляет его открытие, Esc закрывает, после закрытия фокус возвращается на место, фон не «прокликивается». Чтобы попапы не были ловушкой для пользователей клавиатуры и скринридера. Честно сразу: это опирается на управление фокусом (807) и ARIA (808) — связанные вещи; и некоторые сторонние готовые модалки придётся дорабатывать или заменять, гарантировать поведение чужого виджета нельзя.

Стоимость
150 000 ₽
Срок
обычно 1–2 недели (зависит от числа модалок)

Доступность модальных окон — что это и зачем

Доступность модальных окон — цена, срок и состав услуги

Доступность модальных окон — это приведение попапов и диалогов к доступному поведению: правильная роль (dialog) и связанные заголовок/описание для скринридера, удержание фокуса внутри окна, пока оно открыто (focus trap), перенос фокуса в окно при открытии и объявление его скринридеру, закрытие по Esc и по кнопке, ВОЗВРАТ фокуса на исходный элемент после закрытия, «инертный» фон (его нельзя случайно прокликать/протабать под окном). Честно про связку, это важно: доступная модалка опирается на управление фокусом (807) и корректную ARIA (808) — это связанные вещи, часто идут в комплексе. Эта услуга применяет их к конкретному типу компонента — модальным окнам. Честно про сторонние модалки: если у вас попапы на готовом стороннем плагине, его доступность может быть неполной — придётся дорабатывать или заменять доступным решением; гарантировать поведение чужого готового виджета «как есть» нельзя, честно отметим такие места. Честно про охват: доступные модалки — важная зона (попапы часто ломают доступность), но не вся доступность сайта. Честно про процесс: новые попапы нужно делать доступными сразу — иначе проблема вернётся. Честно про эффект: пользователи клавиатуры/скринридера не застревают в попапах; прямой рост продаж не гарантируем. Честно про доступ: нужен доступ к коду. Важная граница: это модалки; общее управление фокусом — 807, ARIA — 808, клавиатура — 806. Представьте: вместо «попап открылся, а фокус остался на фоне, выйти клавишами нельзя» — корректный доступный диалог. Базовая цена — от 15 000 ₽ (зависит от числа и сложности модалок).

Какие задачи решаем

  • Попап открылся, а фокус остался на фоне — выйти клавишами нельзя.
  • Скринридер не объявляет открытие окна — незрячий не понял.
  • Esc не закрывает, фокус не возвращается на место.
  • Фон под окном прокликивается/протабывается.

Что входит в услугу «Доступность модальных окон»

  • Корректная роль dialog и связанные заголовок/описание
  • Удержание фокуса в окне (focus trap)
  • Перенос фокуса в окно и объявление скринридеру
  • Закрытие по Esc и кнопке, возврат фокуса после закрытия
  • «Инертный» фон под открытым окном
  • Доработка/замена недоступных сторонних модалок
  • Указание границ (опора на 807/808; чужие виджеты)
  • Передача и разбор с вами

Что вы получите в результате

  • Фокус удерживается в окне и возвращается на место
  • Скринридер объявляет открытие диалога
  • Esc и кнопка закрывают, фон не мешает
  • Доступные модалки (в связке с 807/808)

Как проходит работа: этапы

  • Находим модалки и проверяем их поведение с клавиатуры/скринридера; собираем доступ
  • Настраиваем роль, focus trap, объявления, Esc, возврат, инертный фон
  • Дорабатываем/заменяем недоступные виджеты, разбираем с вами

Почему LUA·SCRIPT

  • Фиксированная цена и сроки — без сюрпризов в счёте.
  • Отчёт и рекомендации простым языком — понятно без технического бэкграунда.
  • На связи на каждом этапе и отвечаем на вопросы по результату.

Частые вопросы

  • Чем это отличается от управления фокусом?

    Управление фокусом (807) — общая механика фокуса по сайту. Эта услуга применяет её (плюс ARIA 808) конкретно к модальным окнам: роль dialog, удержание фокуса, объявление, Esc, возврат, инертный фон. Часто делаем в комплексе; честно подскажем, нужно ли отдельно модалки или шире.

  • У нас попапы на готовом плагине — заработает?

    Зависит от плагина. Часть сторонних модалок доступна неполно (нет focus trap, не объявляется, фон прокликивается). Где можно — дорабатываем, где нет — предложим заменить доступным решением. Гарантировать поведение чужого готового виджета «как есть» честно нельзя; такие места отметим.

  • Это разовая работа?

    Базово да, но новые попапы нужно делать доступными сразу, иначе проблема вернётся (новый недоступный диалог = новая ловушка). Дадим рекомендации, чтобы будущие модалки сразу строились доступно. Доступность — процесс, а не разовая точка.

Об исполнителе

«Доступность модальных окон» — услуга каталога LUA·SCRIPT по направлению «Качество сайта». Работаем по договору, итог оформляем отчётом с понятными рекомендациями.

Подготовлено: LUA·SCRIPT · обновлено