Библиотека Axe-core — это мощный инструмент для автоматизированного тестирования доступности веб-приложений. Одним из ключевых аспектов работы с библиотекой является правильная генерация и интерпретация отчетов о проверках. Форматы отчетов определяют, как структурируются данные о нарушениях, предупреждениях и рекомендациях, и напрямую влияют на интеграцию с другими инструментами разработки и CI/CD.
JSON является основным форматом отчетов в Axe-core. Он предоставляет структурированную информацию, удобную для программной обработки и интеграции с внешними системами. Основные элементы JSON-отчета:
violations – массив объектов с
обнаруженными нарушениями доступности. Каждый объект содержит:
id – уникальный идентификатор правила (например,
color-contrast);
impact – степень важности нарушения
(minor, moderate, serious,
critical);
description – текстовое описание проблемы;
help – краткая подсказка по исправлению;
nodes – массив элементов DOM, на которых обнаружено
нарушение, с подробной информацией:
html – фрагмент кода элемента;target – CSS-селектор или XPath к элементу;failureSummary – детальное объяснение, почему элемент
не соответствует правилу.passes – массив проверок, которые
пройдены успешно, с аналогичной структурой.
incomplete – проверки, результат
которых не может быть определен автоматически.
testEngine – сведения о версии
Axe-core и среде выполнения.
JSON-формат идеально подходит для интеграции с инструментами CI/CD, генерации визуальных отчетов и аналитики.
HTML-отчеты представляют данные в визуально удобном виде для веб-браузеров. Основные особенности:
critical – красный, serious – оранжевый,
moderate – жёлтый, minor – синий).axe-reports) или через скриптовую генерацию с
использованием данных JSON.HTML-формат удобен для презентации результатов заказчику или команде без необходимости углубляться в JSON.
Формат CSV предназначен для экспорта нарушений в табличные редакторы или системы аналитики. Особенности:
Каждая строка соответствует конкретному нарушению или элементу, на котором оно обнаружено.
Основные колонки:
Rule IDImpactDescriptionHTML snippetSelectorCSV-отчеты удобны для массового анализа и последующего объединения с другими метриками проекта.
SARIF (Static Analysis Results Interchange Format) — стандартный формат для интеграции с системами анализа кода и CI/CD. Особенности применения в Axe-core:
Для генерации различных форматов отчётов Axe-core предоставляет возможность настройки через API:
const { AxePuppeteer } = require('axe-puppeteer');
const fs = require('fs');
const results = await new AxePuppeteer(page).analyze();
fs.writeFileSync('report.json', JSON.stringify(results, null, 2));
violations в структуру SARIF с
указанием locations, ruleId и
level.Использование правильного формата отчёта позволяет не только фиксировать нарушения доступности, но и выстраивать процессы автоматической проверки и исправления проблем, повышая качество веб-приложений.