Библиотека Axe-core в JavaScript предоставляет
мощный инструмент для автоматизированного анализа доступности
веб-приложений. Одним из ключевых методов настройки является
axe.configure, который позволяет изменять поведение сканера
и управлять правилами проверки доступности.
Метод axe.configure используется для
кастомизации конфигурации анализа. Он позволяет:
Базовый синтаксис метода:
axe.configure(configurationObject);
где configurationObject — объект с параметрами
настройки.
Объект конфигурации может содержать несколько ключевых свойств:
rulesПозволяет включать, отключать или модифицировать правила проверки.
axe.configure({
rules: [
{ id: 'color-contrast', enabled: true },
{ id: 'image-alt', enabled: false }
]
});
id — уникальный идентификатор правила.enabled — логическое значение, включающее или
отключающее правило.options.Пример с настройкой опций правила:
axe.configure({
rules: [
{
id: 'label',
enabled: true,
options: { requireVisibleLabel: true }
}
]
});
checksПозволяет изменять поведение отдельных проверок, которые используются внутри правил.
axe.configure({
checks: [
{ id: 'color-contrast-check', enabled: false }
]
});
checks дают более детальный контроль на уровне
внутренних функций библиотеки, что важно при сложных кастомизациях.
reporterОпределяет формат вывода результатов анализа. Поддерживаются
встроенные репортеры (v2, v3) и возможность
передавать кастомные функции.
axe.configure({
reporter: 'v3'
});
Кастомный репортер позволяет интегрировать результаты в сторонние системы логирования или CI/CD.
selectorsС помощью поля selectors можно задавать селекторы,
которые будут исключены из анализа.
axe.configure({
selectors: {
exclude: ['.no-axe', '#ignore-this']
}
});
Это полезно для игнорирования элементов третьих сторон, временных уведомлений или сложных кастомных виджетов.
iframesПозволяет включать или исключать проверку содержимого внутри iframe. По умолчанию сканирование iframe включено.
axe.configure({
iframes: false
});
Пример, где одновременно настраиваются правила, селекторы и репортер:
axe.configure({
rules: [
{ id: 'color-contrast', enabled: true },
{ id: 'aria-roles', enabled: false }
],
selectors: {
exclude: ['.third-party-widget', '.ads-banner']
},
reporter: 'v3'
});
Такой подход позволяет точечно настраивать сканирование под требования проекта, исключая ложные срабатывания и ускоряя процесс проверки.
Метод axe.configure часто используется совместно с:
axe.run() — запускает анализ с текущей
конфигурацией.axe.reset() — сбрасывает конфигурацию к стандартной,
что полезно для тестов с разными настройками.axe.configure({ rules: [{ id: 'color-contrast', enabled: false }] });
axe.run(document, (err, results) => {
console.log(results.violations);
});
axe.reset(); // возвращает стандартные настройки
axe.run() в текущей сессии.axe.configure({ rules: [{ id: 'some-experimental', enabled: true }] })
позволяет тестировать новые проверки.Метод axe.configure является фундаментальным
инструментом для точной и гибкой настройки анализа
доступности, обеспечивая контроль над правилами, проверками и
исключениями в современных веб-приложениях.