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 само защото звучи по-сложно.