Проверка соответствия

Lighthouse — это инструмент для автоматизированного аудита веб-приложений, включающий проверку соответствия стандартам веб-доступности, производительности, прогрессивных веб-приложений и SEO. Основной задачей блока проверки соответствия является выявление нарушений правил доступности и стандартов веб-разработки, что позволяет повысить качество и универсальность сайта.


Настройка и запуск аудита

Для начала работы с Lighthouse необходимо подключить его как модуль в проект:

import lighthouse from 'lighthouse';
import chromeLauncher from 'chrome-launcher';

async function runLighthouse(url, opts = {}, config = null) {
    const chrome = await chromeLauncher.launch({ chromeFlags: ['--headless'] });
    opts.port = chrome.port;
    const result = await lighthouse(url, opts, config);
    await chrome.kill();
    return result.lhr;
}

Ключевые моменты:

  • url — адрес веб-страницы для аудита.
  • opts — объект опций, включая настройки мобильной или десктопной версии.
  • config — конфигурация аудита, позволяет включать или исключать категории и конкретные проверки.

Категории аудита соответствия

Lighthouse классифицирует проверки соответствия по категориям:

  1. Accessibility (Доступность) Проверяет элементы интерфейса на наличие альтернативного текста, контрастности, правильного использования ARIA-атрибутов и семантической разметки.

  2. Best Practices (Лучшие практики) Контролирует соблюдение стандартов безопасности, корректность HTTPS, отсутствие устаревших API и использование безопасных методов загрузки ресурсов.

  3. SEO Оценка соответствия страницы рекомендациям поисковых систем: наличие мета-тегов, правильная структура заголовков, корректная индексация.


Важные проверки доступности

1. Контраст текста и фона Lighthouse вычисляет коэффициент контрастности и сравнивает его с пороговыми значениями WCAG. Для текста малого размера минимальное значение — 4.5:1, для крупного — 3:1.

2. Альтернативный текст изображений Каждое изображение должно содержать атрибут alt. Если изображение является декоративным, атрибут alt должен быть пустым (alt="").

3. Семантическая разметка Использование тегов

,
,
,