Доступность, которая проверяется только раз в год, при единоразовой ручной проверке, почти всегда быстро ухудшается — любое небольшое обновление кода может сломать что-то, что уже исправлено. Решение: встроить тестирование доступности в сам процесс разработки (CI/CD) как автоматизированный этап, чтобы проблемы можно было обнаружить до того, как они достигнут рабочей среды. В этой статье объясняется, как это сделать.

Короче — о чем эта статья

  1. Почему однократной проверки недостаточно
  2. Какие автоматизированные инструменты в конвейере CI/CD могут обнаружить
  3. Когда все еще необходимо ручное тестирование
  4. Как это реализовать на практике

Почему однократной проверки недостаточно

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

Какие автоматизированные инструменты в конвейере CI/CD могут обнаружить

Такие инструменты, как axe-core, Pa11y или Lighthouse CI, могут запускаться автоматически при каждом запросе на включение или перед каждым развертыванием — за считанные секунды они проверяют такие вещи, как: цветовой контраст, неправильные или повторяющиеся теги ARIA, отсутствующий замещающий текст, отсутствующие метки форм и неправильный порядок заголовков. Если проверка не удалась, запрос на включение автоматически блокируется от слияния — точно так же, как обычный обзор кода или неудачный модульный тест.

💡 Практический совет

Начните в «режиме предупреждения» (неблокирующем) на несколько недель, чтобы увидеть, сколько проблем уже существует в кодовой базе, и только после первоначальной очистки превратите проверку в блокировщик развертывания — таким образом команда не «застрянет», столкнувшись с сотнями ошибок в первый же день.

Когда все еще необходимо ручное тестирование

Как и при тестировании документов, автоматизированные инструменты в конвейере CI/CD выявляют явные структурные проблемы, но они не могут судить о реальном пользовательском опыте: имеет ли смысл навигация с клавиатуры, «рассказывает ли программа чтения с экрана связную историю» на странице или действительно ли пользовательский компонент (например, карусель или модальное окно) действительно можно использовать в реальных условиях. Вот почему стоит сочетать текущие автоматические проверки с периодическим ручным аудитом — например, ежеквартально.

Как это реализовать на практике

  1. Выберите инструмент тестирования , который соответствует вашему стеку технологий (axe-core для большинства проектов JavaScript, Lighthouse CI для проектов на основе браузера).
  2. Запустите его как шаг в конвейере CI. — обычно как действие GitHub, задание GitLab CI или эквивалентный шаг в любом инструменте CI/CD, который вы используете.
  3. Установите четкий порог отказа (например: нет проблем «критического» уровня для каждого ядра топора) до того, как проверка станет блокирующей.
  4. Кроме того, ваши PDF-файлы: если ваша организация автоматически генерирует документы (счета-фактуры, отчеты), рассмотрите возможность добавления автоматического сканирования и для них в рамках процесса публикации.

Хотите добавить в свой процесс автоматическое тестирование PDF-файлов?

Наш инструмент сканирует PDF-файлы и присваивает каждому документу оценку доступности — вы можете запускать его в качестве периодической проверки параллельно с процессом CI/CD.

Сканируйте ваш сайт бесплатно ←

После сканирования вы также можете сделать найденные документы доступными напрямую и бесплатно через AccessiDoc.