Lighthouse Accessibility: автоматизація CI-тестування доступності

Ви викотили реліз інтернет-магазину на Next.js, а через тиждень клієнт скаржиться, що не може оформити замовлення через screen reader. Lighthouse видає 45/100 по accessibility — при порозі 90. Вручну перевіряти кожен PR неможливо, а після мержа виправляти в 10 разів дорожче. Автоматизація аудиту дос

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Lighthouse Accessibility: автоматизація CI-тестування доступності
Середній
від 1 дня до 3 днів

Наші компетенції:

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1419
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1287
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    983
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1246
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    983
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    998

Ви викотили реліз інтернет-магазину на Next.js, а через тиждень клієнт скаржиться, що не може оформити замовлення через screen reader. Lighthouse видає 45/100 по accessibility — при порозі 90. Вручну перевіряти кожен PR неможливо, а після мержа виправляти в 10 разів дорожче. Автоматизація аудиту доступності — єдиний спосіб гарантувати, що кожен коміт не ламає UX для людей з обмеженнями.

Ми зіткнулися з цією проблемою на проєкті з формою замовлення з динамічними полями. За два дні налаштували Lighthouse CI на кожен pull request, додали бюджетні обмеження — і з тих пір жоден PR з падінням score не пройшов. Ось як це працює.

Як Lighthouse CI допомагає запобігати регресіям?

Lighthouse CI запускає аудит при кожному PR або коміті, порівнює score з заданим порогом (наприклад, 0.9) і блокує злиття, якщо доступність впала. Це запобігає регресіям до потрапляння в продакшн. На відміну від ручної перевірки, яка займає 1-2 години на форму, автоматичний аудит виконується за хвилини та охоплює більше 30 правил WCAG 2.1 AA.

Чи варто прагнути до score 90+?

Так, оскільки score нижче 90 свідчить про наявність критичних проблем. Lighthouse Accessibility використовує axe-core, який перевіряє понад 30 правил WCAG 2.1 AA. Score 90+ означає, що провалено не більше 10% аудитів (зазвичай низькопріоритетні попередження). Наші клієнти після впровадження фіксують зниження звернень у підтримку на 40%.

Проблеми, які вирішуємо

Проблема 1: Контраст тексту

Бліді кольори на яскравому фоні — часта помилка при використанні кастомних дизайн-систем. Lighthouse перевіряє WCAG 2.1 AA (коефіцієнт 4.5:1 для звичайного тексту). Один неконтрастний елемент на сторінці може знизити score на 10–15 пунктів. В одному з проєктів ми виявили 8 таких елементів: score впав з 92 до 68.

Проблема 2: Пропущені alt-атрибути

Динамічно завантажувані зображення в галереях і картках товарів часто залишаються без альтернативного тексту. За статистикою, 30% зображень в інтернет-магазинах не мають alt. Lighthouse виявляє всі img без alt і позначає як критичну помилку.

Проблема 3: Неправильне використання ARIA

Один role='button' на div без обробника клавіатури — і навігація для скринрідерів ламається. ARIA-атрибути повинні бути точними, інакше вони погіршують доступність. Наприклад, aria-label замість aria-labelledby може заплутати користувача.

Як ми це робимо

Стек

Lighthouse Node.js API v11, Chrome Headless, GitHub Actions. Для проєкту з формою замовлення з динамічними полями ми написали скрипт, який попередньо заповнює форму, робить скріншот і запускає аудит. Скрипт виводить score і список провалених перевірок. Згідно з документацією Google Lighthouse, axe-core перевіряє понад 30 правил WCAG 2.1 AA.

Кейс: інтеграція з GitHub Actions

Використовуємо treosh/lighthouse-ci-action v10. У YAML вказуємо URL і бюджет. При пуші в PR action запускається, порівнює score з порогом (0.9) і позначає PR як failed, якщо поріг не пройдено. Приклад конфігурації:

# .github/workflows/lighthouse.yml name: Lighthouse Accessibility on: [pull_request] jobs: lighthouse: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Run Lighthouse CI uses: treosh/lighthouse-ci-action@v10 with: urls: | http://localhost:3000 http://localhost:3000/catalog budgetPath: ./lighthouse-budget.json uploadArtifacts: true - name: Assert scores run: | node scripts/assert-lighthouse-scores.js 
// lighthouse-budget.json [{ "path": "/*", "timings": [], "resourceSizes": [], "scores": [ { "metric": "accessibility", "minScore": 0.9 } ] }] 

Lighthouse CI в 5 разів швидший за ручну перевірку на 10 сторінках, а вартість автоматизації на порядок нижча — для типових проєктів економія становить до 80%.

Запуск вручну для налагодження

lighthouse http://localhost:3000 --only-categories=accessibility --output=json --output-path=report.json 
Приклад інтеграції з GitLab CI
stages: - accessibility accessibility: stage: accessibility image: node:20 script: - npm install -g lighthouse - lighthouse http://localhost:3000 --only-categories=accessibility --output=json --output-path=report.json - node assert-lighthouse-scores.js 

Порівняння ручного та автоматичного тестування

Метод Час на перевірку Охоплення правил Частота Вартість
Ручна 1–2 години на форму Суб'єктивний За необхідності Висока
Lighthouse CI 5 хвилин на 10 сторінок 30+ правил WCAG 2.1 Кожен PR Низька
Типова помилка Вплив на score Рішення
Недостатній контраст -10..-15 Збільшити контраст до 4.5:1
Відсутність alt у img -5..-10 Додати описовий alt
Неправильний ARIA -8..-12 Використовувати коректні ролі та стани

Процес роботи

  1. Аудит поточного стану — запускаємо Lighthouse на всіх сторінках, фіксуємо score.
  2. Проектування скриптів — пишемо Node.js код для пакетного аудиту з аргументами (formFactor, throttling).
  3. Налаштування CI — додаємо workflow у GitHub Actions (або GitLab CI / Jenkins).
  4. Тестування на реальних сценаріях — перевіряємо, що action працює і коректно позначає PR.
  5. Деплой і підтримка — передаємо конфігурацію, навчаємо команду.

Що входить у роботу

  • Готовий репозиторій з конфігурацією Lighthouse CI.
  • Інтеграція з GitHub Actions / GitLab CI / Jenkins.
  • Скрипти автоматичного аудиту з генерацією звітів.
  • Бюджетні обмеження на score (можна налаштувати per-сторінка).
  • Навчання команди (1 година онлайн).
  • Підтримка протягом 2 тижнів після впровадження.

Строки та вартість

Орієнтовні строки: від 1 до 3 робочих днів. Вартість розраховується індивідуально після ознайомлення з проєктом, базове налаштування — від 500 доларів. Ми маємо 5+ років досвіду в accessibility-аудитах та понад 50 успішних інтеграцій Lighthouse CI.

Замовте налаштування Lighthouse Accessibility — за 2 дні отримайте автоматичний контроль доступності. Зв'яжіться з нами, щоб оцінити ваш проєкт.