Контрастность цветов — это ключевой параметр, который определяет читаемость текста, видимость элементов интерфейса и общую доступность веб-страницы. В Lighthouse этот показатель измеряется с использованием Web Content Accessibility Guidelines (WCAG), которые делят контрастность на два уровня: AA и AAA. Уровень AA требует минимального контраста 4.5:1 для текста обычного размера и 3:1 для крупного текста, тогда как уровень AAA повышает требования до 7:1 и 4.5:1 соответственно.
Lighthouse анализирует цвет текста и фона, включая:
Алгоритм расчёта использует яркость цветов в соответствии с формулой относительной яркости:
[ L = 0.2126 R_s + 0.7152 G_s + 0.0722 B_s]
где (R_s), (G_s), (B_s) — линейные значения компонентов RGB, нормированные к диапазону [0,1]. После этого рассчитывается контрастное соотношение:
[ = ]
где (L_1) — яркость более светлого цвета, (L_2) — яркость более тёмного. Lighthouse проверяет, удовлетворяет ли полученное соотношение требованиям WCAG.
Текст на градиентном фоне Lighthouse анализирует средний цвет или ключевые точки градиента. Если контрастность падает ниже допустимого уровня в любых участках текста, будет зафиксирована ошибка.
Прозрачные элементы Для элементов с opacity < 1 учитывается цвет фона, под которым находится элемент, что может привести к неожиданно низкому показателю контрастности.
Сложные комбинированные стили Текст с тенью, полупрозрачной обводкой или наложением фильтров требует дополнительной обработки, чтобы оценить реальный визуальный контраст.
Выбор правильного цвета текста Проверка контраста с помощью инструментов Lighthouse позволяет подобрать цвета, которые удовлетворяют критериям WCAG, без радикального изменения дизайна.
Использование фоновых слоёв Добавление контрастного фона под текст, например полупрозрачной панели, повышает читаемость.
Масштабирование текста Для крупного текста требования к контрасту ниже, что позволяет улучшить доступность без кардинальной смены цветовой схемы.
Автоматизация с помощью CSS-переменных Определение базовых цветов через переменные позволяет централизованно менять контрастность на всей странице и проверять результаты через Lighthouse.
Использование Lighthouse CLI
lighthouse https://example.com --only-categories=accessibility
Генерирует отчёт с указанием всех элементов, нарушающих контрастность, и
конкретными значениями контрастного соотношения.
Интеграция с CI/CD Запуск Lighthouse в пайплайне позволяет автоматически проверять новые изменения и предотвращать регрессии в доступности.
Применение программного API В Node.js можно
использовать lighthouse как модуль для анализа страниц и
автоматической генерации отчётов в формате JSON. Это удобно для
дальнейшей обработки и интеграции с внутренними системами
мониторинга.
Lighthouse предоставляет не только численные показатели, но и:
Эти инструменты позволяют точно определить участки, где контрастность недостаточна, и выбрать оптимальное решение без нарушения дизайна.
Эффективное управление контрастностью повышает доступность, улучшает восприятие информации и снижает риск визуального утомления пользователей.