Об этом проекте

axe-core — это движок тестирования доступности для веб-сайтов и других пользовательских интерфейсов на базе HTML. Он разработан быстрым, легковесным и интегрируемым с существующими тестовыми средами, чтобы проверки доступности могли выполняться вместе с обычным функциональным тестированием. Правила и покрытие Движок реализует правила для WCAG 2.0, 2.1 и 2.2 на уровнях A, AA и AAA, а также проверки лучших практик, такие как обеспечение наличия заголовка h1 на странице и избегание распространенных ошибок ARIA. Проект заявляет, что axe-core может автоматически находить в среднем 57% проблем WCAG, и возвращает элементы как "incomplete", когда не может быть уверен, указывая на необходимость ручной проверки. Полный список правил, сгруппированных по уровню WCAG и лучшим практикам, приведен в документации репозитория. Начало работы Установите пакет с помощью npm или pnpm в качестве зависимости для разработки, включите axe.min.js в каждый iframe фикстур или тестовой системы и вызовите axe.run() в моменты, когда новый интерфейс становится видимым. Promise разрешается с результатами; нарушения можно проверить и использовать для провала теста. Пакет API состоит из axe.js и минифицированного axe.min.js. Философия и интеграция Заявленная философия проекта заключается в том, что автоматизированное тестирование доступности экономит время, не требует специальных знаний и позволяет командам сосредоточить экспертные ресурсы на проблемах, которые в них нуждаются. Axe предназначен для работы с современными браузерами, инструментами и тестовыми средами, а также для возможности настройки. Он поддерживает фикстуры в памяти, статические фикстуры, интеграционные тесты и вложенные iframe, и автоматически определяет, какие правила запускать на основе контекста оценки. Проект заявляет о нулевом количестве ложных срабатываний, за исключением ошибок. Поддержка браузеров API полностью поддерживает Microsoft Edge v40+, Google Chrome v42+, Mozilla Firefox v38+, Apple Safari v7+ и Internet Explorer v11 (устарел). Только Chrome и Firefox тестируются при каждом pull request. Поддержка JSDOM ограничена; известно, что правило color-contrast там не работает. Среды должны нативно поддерживать требуемые функции или правильно их полифилить; устаревшая реализация Shadow DOM v0 не поддерживается. Локализация Axe может быть собран для локального языка путем добавления файла локали JSON в каталог locales и сборки с флагом --lang, или с --all-lang для всех локалей. Переводы могут быть сгенерированы с помощью скрипта translate и применены во время выполнения через axe.configure() с объектом locale. Локали, добавленные сообществом, включают азербайджанский, баскский, упрощенный и традиционный китайский, датский, нидерландский, французский, немецкий, греческий, иврит, итальянский, японский, корейский, норвежский букмол, польский, бразильский португальский, испанский и шведский; полнота перевода не гарантируется. Релизы и безопасность Новые минорные релизы выходят каждые три-пять месяцев, обычно добавляя правила и функции. Обновления безопасности предоставляются для минорных версий не старше 18 месяцев. Документация охватывает политику релизов и поддержки, а также обратную совместимость. Лицензирование и сообщество axe-core распространяется под лицензией Mozilla Public License 2.0 и включает сторонние зависимости на их собственных условиях. Он активно поддерживается Deque Systems, крупным поставщиком решений для доступности. Репозиторий включает руководства по предложению правил, архитектуре и участию, а также список проектов, использующих axe-core. Использование товарных знаков регулируется политикой товарных знаков Deque.