Accesibilidad
Esta página lista lo que está realmente implementado, en vez de una afirmación genérica de "es accesible" — la cobertura varía según el componente. Al momento de escribir esto, 16 de los 55 componentes de la librería tienen atributos ARIA, roles o manejo de teclado explícitos. El resto depende de la semántica nativa de sus elementos HTML (<button>, <input>, <label>), lo cual cubre la operabilidad básica por teclado pero no comportamientos específicos para lectores de pantalla como regiones live o roving tabindex.
Si la accesibilidad es un requisito estricto para tu caso de uso, trata esta lista como punto de partida para tu propia auditoría, no como una garantía.
Navegación por teclado
| Componente | Teclas soportadas |
|---|---|
PxCommandPalette | ↑ / ↓ para moverse entre resultados, Enter para seleccionar, Esc para cerrar |
PxDialog | Esc para cerrar (cuando closable) |
PxDrawer | Esc para cerrar (cuando closable) |
Otros componentes interactivos (botones, links, inputs nativos, checkboxes/radios construidos sobre <input> reales) obtienen el comportamiento de Tab/Espacio/Enter gratis del navegador, sin manejadores de teclas personalizados.
Roles y atributos ARIA
| Componente | Qué está marcado |
|---|---|
PxCheckbox | role="checkbox", aria-checked, aria-disabled, tabindex |
PxRadioButton | role="radio", aria-checked, aria-disabled, tabindex |
PxToast | role="alert" en el toast, aria-label en el botón de cerrar |
PxDialog | role="dialog", aria-modal, aria-label en el botón de cerrar |
PxDrawer | role="dialog", aria-modal, aria-label en el botón de cerrar |
PxCommandPalette | role="dialog", aria-modal |
PxAccordion | aria-expanded en cada trigger de panel |
PxTabs | aria-selected en la tab activa |
PxDropdownMenu | aria-label, aria-haspopup en el trigger, aria-hidden en su ícono |
PxLabel | Asociación nativa <label for> con el id del campo |
PxFormWizard | aria-label en el <nav> de progreso de pasos |
PxPhoneInput, PxSchemaForm, PxSelectableListWithTable | aria-live="polite" en el mensaje de error de validación, para que los lectores de pantalla lo anuncien al aparecer |
PxDialogInput, PxGridSelect, PxSelectableListWithTable | aria-label en los botones de eliminar por ítem, aria-hidden en sus íconos |
Vacíos conocidos
- Los componentes construidos sobre
vue-select(selects async/categorizados/de esquema) heredan el comportamiento de accesibilidad propio de esa librería, no ARIA personalizado de Praxis Vue. - Ningún componente administra actualmente un
tabindexrotativo para navegación con flechas dentro de listas (ej.PxTree,PxNavList,PxStepper) — la navegación es vía Tab, no con flechas, excepto enPxCommandPalette. - El contraste de color no ha sido auditado contra WCAG AA como conjunto; la paleta por defecto (ver Theming) es un punto de partida razonable pero no fue elegida contra un verificador de contraste.
Si encuentras un vacío específico que sea importante para tu proyecto, vale la pena reportarlo en GitHub en vez de asumir que ya está cubierto.