ARIA Authoring Practices Guide
Zob. też: APG, ARIA APG, Authoring Practices Guide
Biblioteka wzorców W3C dla dostępnych niestandardowych widżetów. APG to operacyjny przewodnik towarzyszący specyfikacji ARIA — pokazuje, jak poprawnie stosować ARIA w praktyce.
Specyfikacja ARIA definiuje słownictwo ról, stanów i właściwości. ARIA Authoring Practices Guide wyjaśnia, jak je faktycznie stosować: jakich interakcji klawiaturowych wymaga każdy wzorzec, jak fokus porusza się przez widżet, co ogłaszać przy zmianie stanu i jak powinien wyglądać DOM.
Co zawiera APG
APG dokumentuje wzorcową implementację każdego wzorca widżetu, który specyfikacja ARIA miała obsługiwać:
- Combobox (wzorzec autouzupełniania z trudnym zachowaniem klawiaturowym, które niemal wszyscy implementują błędnie).
- Okna dialogowe — modalne i niemodalne, z pełną pułapką fokusa i przywracaniem fokusa po zamknięciu.
- Widżety rozwijane (prosty wzorzec pokaż/ukryj).
- Menu i paski menu — te wymagające nawigacji strzałkami, nie samym tabulatorem.
- Karty — pary zakładka/panel z nawigacją strzałkami i semantyką aktywacji automatycznej lub ręcznej.
- Widoki drzewa — hierarchiczna nawigacja w stylu drzewa plików.
- Pola listy — jednokrotny i wielokrotny wybór.
- Przyciski obrotowe, suwaki, karuzele i kilkanaście kolejnych.
Każda strona wzorca zawiera trzy części: działający przykład na żywo, tabelę interakcji klawiaturowych oraz precyzyjne atrybuty ARIA. Są też wzorce punktów orientacyjnych — wskazówki dotyczące <header>, <nav>, <main> i mapujących się na nie ról ARIA — oraz sekcja antywzorców wyjaśniająca, czego nie robić.
Kiedy po nie sięgać
APG jest najbardziej przydatny, gdy zamierzasz zbudować widżet niemający natywnego elementu HTML. Zanim napiszesz choć jedną linię kodu, sprawdź, czy APG zawiera dany wzorzec. Niemal zawsze:
- Wymagane interakcje klawiaturowe są już opisane.
- Kształt DOM jest już udokumentowany.
- Atrybuty ARIA są już opracowane.
Pominięcie tego kroku powoduje, że zespoły dostarczają „dostępne” widżety, które dezorientują czytniki ekranu w sposób, którego żadne automatyczne narzędzie nie wykryje. APG to różnica między comboboxem, który działa dla wszystkich, a takim, który się kompiluje, ale psuje dla użytkowników czytników ekranu.
Czym APG wyraźnie nie jest
APG nie jest specyfikacją normatywną. Dokumentami normatywnymi są sama specyfikacja ARIA i WCAG. APG to wytyczne: implementacja widżetu dokładnie zgodna z APG jest zalecaną ścieżką, ale nie jedyną dopuszczalną. Odchylenie od APG bez udokumentowanego powodu jest sygnałem, że wzorzec może nie być w pełni zrozumiany.
APG nie zastępuje też natywnego HTML. Jeśli <select> sprawdzi się w Twojej liście rozwijanej, użyj <select> — nie sięgaj po wzorzec comboboxa z APG tylko dlatego, że brzmi bardziej zaawansowanie.