Axe-core — это библиотека для автоматизированного тестирования доступности веб-приложений. Она активно используется в связке с JavaScript-фреймворками и инструментами тестирования, такими как Jest, Cypress или Puppeteer. Обновление библиотеки имеет критическое значение для поддержания актуальности правил доступности, исправления багов и интеграции новых возможностей.
Библиотека axe-core использует семантическое версионирование
(SemVer), где каждая версия имеет формат
MAJOR.MINOR.PATCH.
При обновлении важно учитывать зависимости проекта. Для
Node.js-проектов проверка совместимости осуществляется через
package.json:
"dependencies": {
"axe-core": "^5.0.0"
}
Символ ^ указывает, что допускаются минорные и
патч-обновления, но не мажорные. Для абсолютного контроля рекомендуется
фиксировать версии без каретки.
Перед обновлением необходимо определить, какая версия axe-core установлена:
npm list axe-core
Команда выводит дерево зависимостей и текущую версию. Для глобально
установленных пакетов используется флаг -g.
Для обновления до последней версии в пределах текущей мажорной версии используется:
npm update axe-core
Если требуется обновление до конкретной версии:
npm install axe-core@5.5.1
Для полного обновления с переходом на новую мажорную версию:
npm install axe-core@latest
После обновления необходимо проверить, не нарушены ли тесты доступности и нет ли конфликтов с другими библиотеками.
Каждое обновление axe-core приносит:
Например, новые правила могут включать проверку контраста текста на динамически созданных элементах или улучшенную обработку ARIA-атрибутов.
При обновлении axe-core часто требуется обновление интеграционных библиотек:
Эти адаптеры зависят от внутреннего API axe-core. Новые версии
библиотеки могут вводить изменения в объект конфигурации, методы
run или configure.
Пример конфигурации для Jest:
import { axe, toHaveNoViolations } from 'jest-axe';
expect.extend(toHaveNoViolations);
test('Страница должна быть доступной', async () => {
const html = renderMyComponent();
const results = await axe(html);
expect(results).toHaveNoViolations();
});
При обновлении axe-core важно сверять документацию адаптера на предмет новых параметров конфигурации и формата отчета.
package-lock.json.Для проектов с регулярными проверками доступности рекомендуется настроить автоматические обновления:
Обновление axe-core обеспечивает актуальность тестирования доступности, повышает качество веб-приложений и позволяет поддерживать соответствие современным стандартам WCAG.