Поддерживаемые среды
выполнения
Библиотека Axe-core ориентирована на веб-разработку
и рассчитана на использование в средах, поддерживающих стандартный
JavaScript. Основные платформы:
- Браузеры: современные версии Chrome, Firefox, Edge,
Safari. Поддержка устаревших браузеров ограничена, поскольку axe-core
использует современные API DOM и CSS.
- Node.js: начиная с версии 12 и выше. Это позволяет
использовать библиотеку для серверного рендеринга и тестирования на
уровне CI/CD.
- Среды тестирования: интеграция с инструментами
вроде Jest, Mocha,
Cypress, Puppeteer,
Playwright, что делает возможным автоматизированное
тестирование доступности.
Зависимости
Axe-core практически не имеет внешних зависимостей.
Для корректной работы требуется только стандартная среда JavaScript с
поддержкой ES6. Для интеграции с фреймворками тестирования могут
понадобиться соответствующие адаптеры (например,
axe-puppeteer или jest-axe).
Поддержка фреймворков и
библиотек
- React, Vue, Angular: axe-core совместима через
обертки или плагины. Например,
jest-axe для React позволяет
проверять компоненты в изоляции, а vue-axe интегрируется с
жизненным циклом Vue-компонентов.
- Shadow DOM: библиотека корректно анализирует
элементы внутри Shadow DOM, что важно для современных
веб-компонентов.
- iFrames: axe-core поддерживает проверку контента
внутри iframe, однако требуется явная передача контекста документа для
анализа.
Ограничения и
особенности совместимости
- Устаревшие браузеры: Internet Explorer 11
поддерживается частично; многие современные правила accessibility не
работают корректно.
- Асинхронные фреймы: динамически загружаемый контент
требует явного вызова
axe.run() после его рендеринга.
- Мобильные браузеры: axe-core совместима с
мобильными WebKit и Chrome на Android/iOS, но ограничения связаны с
производительностью при больших DOM-деревьях.
- Стили и визуальные эффекты: некоторые проверки
(например, контраст текста) зависят от вычисленных стилей; поэтому
рекомендуется запускать axe-core на реальном DOM, а не на статическом
HTML.
Рекомендации по окружению
- Использовать последние стабильные версии браузеров
для локальных проверок.
- Для CI/CD интеграции применять headless-браузеры
(Puppeteer, Playwright) для ускорения
тестирования.
- Убедиться, что DOM полностью загружен, прежде чем
вызывать
axe.run(), особенно если страница содержит
асинхронные компоненты или lazy-loading элементов.
Интеграция с
инструментами автоматизации
- Jest + jest-axe: позволяет проверять отдельные
компоненты React или Vue на соответствие стандартам WCAG.
- Cypress + cypress-axe: поддерживает тестирование
доступности на уровне интерактивных пользовательских сценариев.
- Puppeteer + axe-puppeteer: обеспечивает детальный
анализ страниц в headless Chrome, включая Shadow DOM и iframe.
Эти инструменты обеспечивают стабильную работу axe-core в любых
проектах, позволяя выявлять ошибки доступности до релиза продукта.
Поддержка стандартов
Axe-core реализует проверки по стандартам
WCAG 2.1, Section 508 и
ARIA. Это гарантирует, что приложение соответствует
современным требованиям доступности на всех поддерживаемых
платформах.