Библиотека 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 }
};
Такое комбинирование позволяет: