javascript42
Главная
Все учебники
Блог
Учебник Aria-query
Введение
Что такое aria-query
Зачем нужна библиотека aria-query
Установка и подключение
Совместимость с различными окружениями
Структура библиотека и основные экспорты
Основы ARIA
Спецификация WAI-ARIA
Роли, состояния и свойства
Семантика HTML и ARIA
Неявные и явные роли элементов
Правила переопределения ролей
Работа с ролями
Получение списка всех ролей
Структура объекта роли
Абстрактные роли
Виджет-роли
Документные роли
Ландмарк-роли
Оконные роли
Живые регионы
Свойства ролей
requiredProps
props
superClass
requireContextRole
requiredContextRole
requiredOwnedElements
childrenPresentational
nameFrom
prohibitedProps
deprecated
Атрибуты ARIA
Получение всех атрибутов
Глобальные атрибуты
Атрибуты живых регионов
Атрибуты отношений
Атрибуты drag-and-drop
Типы значений атрибутов
Устаревшие атрибуты
API библиотеки
roles Map
aria Map
elementRoles Map
roleElements Map
dom Map
Получение ролей элементов
Поиск роли по тегу
Поиск роли с учетом атрибутов
Множественные варианты ролей
Обработка отсутствия роли
Роли для нестандартных элементов
Получение элементов по роли
Поиск элементов для конкретной роли
Учет дополнительных атрибутов
Работа с наборами элементов
Проверка валидности
Валидация комбинаций роль-атрибут
Проверка обязательных свойств
Проверка контекста использования
Проверка владеющих элементов
Запрещенные комбинации
Работа с DOM-концепциями
Связь HTML-элементов и ARIA-ролей
Атрибуты HTML как ARIA-свойства
relatedConcepts в деталях
Иерархия ролей
Наследование свойств
Цепочка superClass
Поиск родительских ролей
Определение дочерних ролей
TypeScript
Типы данных библиотеки
ARIARoleDefinition
ARIAPropertyDefinition
Дженерики и утилиты типов
Работа с типизированными Map
Интеграция с тестированием
Использование в юнит-тестах
Проверка доступности компонентов
Моки и стабы для aria-query
Интеграция с инструментами доступности
Связь с eslint-plugin-jsx-a11y
Использование в axe-core
Интеграция с testing-library
Кастомные правила линтинга
Расширение функциональности
Добавление кастомных ролей
Расширение существующих определений
Создание утилит поверх aria-query
Обертки для частых задач
Оптимизация производительности
Кеширование результатов запросов
Минимизация размера бандла
Tree-shaking и side effects
Миграция между версиями
Изменения в спецификации ARIA
Обновление версий библиотеки
Обработка breaking changes
Поддержка legacy-кода
Отладка и диагностика
Логирование работы с библиотекой
Поиск несоответствий в ролях
Выявление конфликтов атрибутов
Инструменты браузера для ARIA
Частые ошибки
Неправильное использование ролей
Конфликты явных и неявных ролей
Игнорирование обязательных свойств
Неверная интерпретация данных библиотеки
Путаница с устаревшими атрибутами
Практические паттерны
Создание доступных компонентов
Валидация форм с учетом ARIA
Динамическое управление ролями
Навигация с клавиатуры
Уведомления и live regions
Продвинутые техники
Программная генерация ARIA-разметки
Анализ accessibility tree
Автоматическое исправление ошибок
Статический анализ компонентов
Создание DevTools расширений