ARIA Authoring Practices Guide
También: APG, ARIA APG, Authoring Practices Guide
Biblioteca de patrones del W3C para widgets personalizados accesibles. La APG es la guía práctica complementaria a la especificación ARIA — muestra cómo se emplea ARIA de manera correcta.
La especificación ARIA define un vocabulario de roles, estados y propiedades. La ARIA Authoring Practices Guide explica cómo utilizarlos en la práctica: qué interacciones de teclado requiere cada patrón, cómo se desplaza el foco a través de un widget, qué se debe anunciar cuando cambia el estado y cuál debe ser la estructura del DOM.
Qué contiene la APG
La APG documenta la implementación canónica de cada patrón de widget que la especificación ARIA fue diseñada para admitir:
- Comboboxes — el patrón de autocompletado con un comportamiento de teclado complejo que casi todo el mundo implementa de forma incorrecta.
- Diálogos — modales y no modales, con trampa de foco completa y comportamiento de devolución del foco al cerrar.
- Widgets de revelación — el sencillo patrón de mostrar/ocultar.
- Menús y barras de menú — los que necesitan navegación con teclas de flecha, no solo con tabulación.
- Pestañas (Tabs) — pares tab/tabpanel con navegación de teclado mediante flechas y semántica de activación automática frente a manual.
- Vistas de árbol (Treeview) — navegación jerárquica al estilo árbol de archivos.
- Listboxes — selección simple y múltiple.
- Spin buttons, sliders, carruseles y una docena más de patrones.
Cada página de patrón tiene tres partes: un ejemplo funcional en vivo, la tabla
de interacciones de teclado y los atributos ARIA precisos empleados. También hay
patrones de landmark — orientación sobre <header>, <nav>, <main> y los
roles ARIA que se les asignan — y una sección de antipatrones que explica qué
no se debe hacer.
Cuándo recurrir a ella
La APG resulta más útil cuando se está a punto de construir un widget para el que no existe un elemento HTML nativo. Antes de escribir una sola línea de código, conviene comprobar si la APG ya documenta ese patrón. En casi todos los casos:
- Las interacciones de teclado que hay que implementar ya están especificadas.
- La estructura del DOM ya está documentada.
- Los atributos ARIA ya están resueltos.
Saltarse este paso es la manera en que los equipos publican widgets «accesibles» que confunden a los lectores de pantalla de formas que ninguna herramienta automatizada detecta. La APG marca la diferencia entre un combobox que funciona para todos y uno que compila pero falla para los usuarios de lectores de pantalla.
Lo que la APG no es explícitamente
La APG no es una especificación normativa. Los documentos normativos son la propia especificación ARIA y WCAG. La APG es orientación: implementar un widget exactamente como muestra la APG es el camino recomendado, pero no el único camino válido. Dicho esto, desviarse de la APG sin una razón documentada es una señal de que quizás no se comprende plenamente el patrón.
La APG tampoco sustituye al HTML nativo. Si <select> funciona para un menú
desplegable, se debe usar <select> — no conviene recurrir al patrón combobox de
la APG solo porque suena más avanzado.