Параметры options

Библиотека Axe-core предоставляет мощный инструмент для автоматизированного тестирования доступности веб-страниц. Ключевым элементом настройки проверок является объект options, который позволяет точно определить, какие правила, элементы и условия следует использовать при анализе.


runOnly

Параметр runOnly используется для ограничения набора правил, которые будут выполняться. Может принимать несколько форм:

  • Массив идентификаторов правил
{
  runOnly: {
    type: 'rule',
    values: ['color-contrast', 'image-alt']
  }
}

В этом случае проверка будет применяться только к правилам color-contrast и image-alt.

  • Типы стандартных конфигураций
{
  runOnly: {
    type: 'tag',
    values: ['wcag2a', 'wcag2aa']
  }
}

Это позволяет запускать сразу группы правил, сгруппированные по тегам WCAG.

Особенности:

  • Если runOnly не указан, выполняются все доступные правила.
  • Параметр type может быть только 'rule' или 'tag'.

include и exclude

Эти параметры задают области DOM, на которых будут выполняться проверки или исключаться из них.

  • include — массив CSS-селекторов, указывающий элементы, которые нужно проверить.
{
  include: ['#main-content', '.article']
}
  • exclude — массив CSS-селекторов, исключающих элементы из проверки.
{
  exclude: ['.ads', '.footer']
}

Правила работы:

  • Если include не указан, анализируется весь document.
  • Если элемент совпадает одновременно с include и exclude, применяется исключение.
  • Можно использовать вложенные селекторы для точного контроля областей проверки.

elementRef (опционально)

Позволяет управлять ссылками на элементы DOM, к которым применяются результаты проверок. Используется для оптимизации работы с динамическим контентом и сложными приложениями.


rules

Позволяет детально настраивать каждое правило. Может включать:

  • enabled — включение или отключение правила.
  • selector — изменение области применения конкретного правила.
  • options — специфические параметры для каждого правила.

Пример:

{
  rules: {
    'color-contrast': { enabled: true },
    'image-alt': { enabled: false },
    'label': { enabled: true, selector: '.form-field' }
  }
}

reporter

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

{
  reporter: 'v2'
}

или

{
  reporter: ['v2', 'json']
}

Особенности:

  • Опция влияет только на формат вывода, не на сам процесс анализа.
  • Поддерживаются стандартные варианты: 'v1', 'v2', 'json', 'html'.

iframe

Используется при проверке страниц, где содержимое загружается в iframe. Определяет, следует ли анализировать его содержимое:

{
  iframe: true
}

Важно: Если страница использует несколько iframe, необходимо учитывать потенциальные ограничения безопасности и политики CORS.


reporterOptions

Дополнительные параметры для управления генерацией отчетов, включая:

  • detailedReport — включение подробного отчета с указанием каждой проблемы.
  • timestamp — добавление отметки времени к результатам.

Пример:

{
  reporterOptions: {
    detailedReport: true,
    timestamp: true
  }
}

Комбинирование параметров

Объект options позволяет комбинировать все параметры для максимально точного контроля:

const options = {
  runOnly: { type: 'tag', values: ['wcag2aa'] },
  include: ['#content', '.main'],
  exclude: ['.ads'],
  rules: {
    'color-contrast': { enabled: true },
    'image-alt': { enabled: false }
  },
  reporter: 'json',
  reporterOptions: { detailedReport: true }
};

Такое комбинирование позволяет:

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