Тестирование доступности: как проверить сайт для всех пользователей

Доступность считают темой для крупных компаний и госсайтов. На деле половина проверок занимает минуты, а находит дефекты, которые мешают не только людям с ограничениями.

О чём вообще речь

Доступность (accessibility, сокращённо a11y) — свойство продукта быть пригодным для людей с разными возможностями: с нарушениями зрения, слуха, моторики, внимания. Стандарт, на который ссылаются, называется WCAG.

Важный момент, который меняет отношение к теме: доступность помогает не только людям с инвалидностью. Субтитры смотрят в шумном месте, крупный шрифт нужен при ярком солнце, навигация с клавиатуры выручает, когда сломался тачпад, а высокий контраст полезен всем на дешёвом экране.

Проверки, которые занимают минуты

  1. Пройдите страницу только клавишей Tab. Не трогая мышь: можно ли добраться до всех элементов и в логичном ли порядке.
  2. Посмотрите, видно ли фокус. Обводка вокруг активного элемента должна быть заметна. Убранная «ради красоты» обводка — типовой дефект.
  3. Нажмите Enter и пробел на кнопках и ссылках: они должны срабатывать. Часто «кнопка», сделанная из div, не реагирует.
  4. Увеличьте масштаб до 200%. Вёрстка не должна ломаться, текст — обрезаться.
  5. Отключите картинки и посмотрите, остаётся ли смысл: есть ли альтернативный текст.
  6. Проверьте контраст текста и фона — есть встроенный инструмент в DevTools.
💡 Проверка на десять секунд

Нажмите Tab один раз на любой странице. Если не видно, где оказался фокус, — это уже дефект. По этому признаку отсеивается больше половины сайтов, и находится он мгновенно.

Что проверять подробнее

ОбластьЧто смотреть
КлавиатураВсе действия доступны, фокус виден, нет ловушек фокуса
КонтрастНе ниже 4.5:1 для обычного текста, 3:1 для крупного
ЦветНе единственный носитель смысла: к красной рамке есть текст
ФормыПодписи связаны с полями, ошибки озвучиваются
КартинкиОсмысленный alt; у декоративных — пустой
ЗаголовкиИерархия h1–h3 без пропусков, один h1 на странице
Видео и аудиоСубтитры или расшифровка
АнимацияЕсть возможность отключить, нет мигания

Про ловушку фокуса

Отдельный дефект, который стоит знать по имени. Ловушка фокуса — ситуация, когда клавиатурный фокус попал внутрь элемента и не может выйти. Чаще всего случается в модальных окнах и виджетах.

Проверка простая: откройте модальное окно и понажимайте Tab. Фокус должен ходить по элементам окна и не уходить на страницу под ним, а Escape должен закрывать окно и возвращать фокус туда, откуда его открыли. Если фокус ушёл под окно или вообще исчез — дефект.

Инструменты

⚠️ Про автоматические проверки

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

Как заводить такие дефекты

Проблема с репортами по доступности в том, что их легко закрыть как «не влияет на функциональность». Помогает формулировка через пользователя и стандарт.

Вместо «нет alt у картинки» — «Каталог: у изображений товаров отсутствует альтернативный текст, пользователь скринридера не может определить, какой товар в карточке (WCAG 1.1.1)». Вместо «плохой контраст» — «Подвал: контраст ссылок 1.8:1 при минимуме 4.5:1, текст нечитаем на светлых экранах».

Ссылка на пункт стандарта превращает субъективное замечание в требование. Как оформлять остальное — в разборе как писать баг-репорт.

С чего начать на своём проекте

Не пытайтесь закрыть всё сразу — так тема обычно и умирает. Начните с трёх вещей, которые дают больше всего пользы: проход по основному сценарию с клавиатуры, проверка контраста и подписи у полей форм.

Этого достаточно, чтобы продукт стал заметно доступнее, а вы — получили аргументы для разговора о том, стоит ли идти дальше. Проверки форм в целом собраны в чек-листе тестирования формы.

Обязательна ли доступность по закону?

Требования зависят от страны и типа организации: для государственных сайтов и ряда сфер они есть. Коммерческим продуктам это чаще вопрос аудитории и репутации, а не обязанности.

Нужно ли junior разбираться в WCAG?

Знать про существование стандарта и уметь сделать базовые проверки — достаточно. Глубокий аудит доступности — отдельная специализация.

Что важнее: клавиатура или скринридер?

Клавиатура: без неё скринридер бесполезен, а сама по себе она нужна ещё и людям с нарушениями моторики. Начинайте с неё.