Системные требования и совместимость

Поддерживаемые среды выполнения

Библиотека 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 элементов.

Интеграция с инструментами автоматизации

  1. Jest + jest-axe: позволяет проверять отдельные компоненты React или Vue на соответствие стандартам WCAG.
  2. Cypress + cypress-axe: поддерживает тестирование доступности на уровне интерактивных пользовательских сценариев.
  3. Puppeteer + axe-puppeteer: обеспечивает детальный анализ страниц в headless Chrome, включая Shadow DOM и iframe.

Эти инструменты обеспечивают стабильную работу axe-core в любых проектах, позволяя выявлять ошибки доступности до релиза продукта.

Поддержка стандартов

Axe-core реализует проверки по стандартам WCAG 2.1, Section 508 и ARIA. Это гарантирует, что приложение соответствует современным требованиям доступности на всех поддерживаемых платформах.