Стандарти

ARIA Authoring Practices Guide

Също: APG, ARIA APG, Authoring Practices Guide

Библиотека с шаблони на W3C за достъпни потребителски контроли. APG е практическото ръководство-спътник към спецификацията ARIA — показва как ARIA се използва правилно.

Спецификацията ARIA дефинира речник от роли, състояния и свойства. ARIA Authoring Practices Guide обяснява как те действително се прилагат: какви клавишни взаимодействия изисква всеки шаблон, как фокусът се премества в рамките на даден контрол, какво трябва да се обяви при промяна на състоянието и как трябва да изглежда DOM структурата.

Какво съдържа APG

APG документира каноничната реализация на всеки шаблон на контрол, за поддръжката на който е написана спецификацията ARIA:

  • Combobox — шаблонът за автодопълване с трудно клавишно поведение, което почти всеки реализира неправилно.
  • Диалогови прозорци — модални и немодални, с пълно задържане на фокуса и връщане на фокуса при затваряне.
  • Disclosure контроли — простият шаблон за показване/скриване.
  • Менюта и ленти с менюта — тези, които изискват навигация със стрелки, а не само с Tab.
  • Раздели (Tabs) — двойки tab/tabpanel с клавишна навигация чрез стрелки и семантика за автоматично или ръчно активиране.
  • Дървовидни изгледи (Treeview) — йерархична навигация в стил файлово дърво.
  • Списъчни полета (Listbox) — единичен и множествен избор.
  • Spin button, плъзгачи (slider), въртележки (carousel) и над десет допълнителни шаблона.

Всяка страница с шаблон съдържа три части: работещ живи пример, таблица с клавишни взаимодействия и точните ARIA атрибути, използвани в реализацията. Предвидени са също шаблони за ориентири (landmark patterns) — насоки за <header>, <nav>, <main> и ARIA ролите, съответстващи на тях — и раздел за антишаблони, обясняващ какво не трябва да се прави.

Кога да се използва APG

APG е най-полезен, когато предстои изграждане на контрол, за който няма нативен HTML елемент. Преди да се напише и един ред код, трябва да се провери дали APG съдържа съответния шаблон. В почти всички случаи:

  • Необходимите клавишни взаимодействия вече са специфицирани.
  • DOM структурата вече е документирана.
  • ARIA атрибутите вече са определени.

Пропускането на тази стъпка е начинът, по който екипите пускат „достъпни” контроли, объркващи екранните четци по начини, които нито един автоматизиран инструмент не улавя. APG е разликата между combobox, който работи за всички, и такъв, който се компилира, но не работи за потребители на екранни четци.

Какво APG изрично не е

APG не е нормативна спецификация. Нормативните документи са самата спецификация ARIA и WCAG. APG съдържа насоки: реализацията на контрол точно по начина, показан в APG, е препоръчителният, но не единственият допустим подход. При отклонение от APG без документирана причина е налице сигнал, че шаблонът може да не е напълно разбран.

APG също така не замества нативния HTML. Ако <select> ще свърши работа за дадено падащо меню, трябва да се използва <select> — не бива да се прибягва до шаблона combobox от APG само защото звучи по-сложно.