К содержимому
uiify

Доступность

uiify ориентируется на WCAG 2.2 AA: прежде всего семантический HTML, а ARIA — только там, где нативных элементов недостаточно.

Сначала нативная семантика

Каждый компонент строится на элементе платформы, у которого уже есть нужная роль и управление с клавиатуры: <button>, <dialog>, <details>, поля checkbox и radio, а также Popover API. ARIA служит резервным вариантом.

Навигация с клавиатуры

  • Активация — Enter и Space активируют кнопки и переключатели; Space меняет состояние флажков и выключателей.
  • Составные виджеты — клавиши со стрелками перемещают фокус внутри меню, вкладок, групп радиокнопок и панелей инструментов; Home и End переходят к первому и последнему элементу.
  • Всплывающие элементы — Escape закрывает диалоги, всплывающие блоки и меню, возвращая фокус на триггер.
  • Порядок Tab — при обходе с клавиатуры фокус получают только интерактивные элементы; отключённые элементы управления пропускаются.

На каждой странице компонента описано управление с клавиатуры.

Управление фокусом

Модальные окна удерживают фокус, пока открыты, и восстанавливают его после закрытия. Во всплывающих блоках и меню между пунктами перемещается tabindex. Стили видимого фокуса задаются в CSS приложения с помощью data-state и :focus-visible.

Как это проверяется

Каждое утверждение на этой странице — обязательное условие выпуска: отсутствие нарушений axe в Chromium, Firefox и WebKit, а также полный набор тестов без JavaScript, который проходят компоненты Tier 0. См. проверки