Библиотека Aria-query предназначена для работы с ARIA-атрибутами и их семантическими связями в DOM. Она используется для проверки доступности компонентов, генерации схем атрибутов и их валидного применения в веб-разработке.
Для установки используется стандартный менеджер пакетов npm:
npm install aria-query
Если библиотека уже установлена и требуется обновление до последней версии, рекомендуется использовать команду:
npm update aria-query
Также возможен вариант обновления с указанием конкретной версии:
npm install aria-query@<version>
Aria-query предоставляет три основных объекта:
Пример получения всех ролей:
const { roles } = require('aria-query');
console.log(roles.keys()); // выводит все ARIA роли
Каждая роль содержит следующие свойства:
abstract – логическая роль без визуального
представления.superClass – массив родительских ролей, для которых
данная роль является наследником.requiredProps – набор обязательных ARIA-атрибутов.props – все допустимые ARIA-атрибуты для роли.Для работы с атрибутами используется объект
ariaAttributes. Каждое свойство включает:
type – тип значения (например, string,
token, boolean).values – допустимые значения для атрибута, если они
ограничены.relatedConcepts – возможные соответствия с элементами
HTML.Пример фильтрации атрибутов по типу:
const { ariaAttributes } = require('aria-query');
const booleanAttributes = Array.from(ariaAttributes.entries())
.filter(([name, attr]) => attr.type === 'boolean')
.map(([name]) => name);
console.log(booleanAttributes);
Aria-query регулярно обновляется в соответствии с последними спецификациями WAI-ARIA. Для поддержки актуальности данных рекомендуется:
npm info aria-query version.package.json с указанием диапазона версий:"dependencies": {
"aria-query": "^9.0.0"
}
Aria-query часто используется совместно с eslint-plugin-jsx-a11y для проверки доступности компонентов React. Обновление библиотеки гарантирует, что валидатор будет использовать актуальные роли и атрибуты.
Пример использования в ESLint:
const { roles } = require('aria-query');
const elementRole = roles.get('button');
console.log(elementRole.requiredProps); // вывод обязательных атрибутов для кнопки
npm list aria-query.props и
requiredProps.Библиотека отражает актуальные версии WAI-ARIA. После обновления
версии aria-query становятся доступными новые роли,
атрибуты и ограничения их применения.
const { roles } = require('aria-query');
if (!roles.has('toolbar')) {
console.log('Необходимое обновление для поддержки toolbar');
}
Регулярное обновление библиотеки позволяет поддерживать проект в соответствии с последними стандартами доступности, избегать устаревших ролей и некорректных комбинаций атрибутов.
Обновление aria-query напрямую влияет на корректность работы проверок доступности, генерацию схем ARIA и автоматизацию тестирования компонентов. Постоянная актуализация данных библиотеки обеспечивает соответствие современным требованиям WAI-ARIA и гарантирует стабильность и предсказуемость поведения веб-приложений при работе с ARIA-атрибутами.