Estructura y layout
Dashboard
Agrupa widgets en regiones con encabezados.
.ally-dashboardMVP 1.0Accesible por defecto
Ejemplo
Vista real construida con los archivos compilados de Ally.
Correcto96%
Score accesible
Revisión4
Advertencias
Checks42
Validaciones
HTML
<div class="ally-dashboard">
<article class="ally-card">
<span class="ally-badge ally-badge-success">Correcto</span>
<h3>96%</h3>
<p>Score accesible</p>
</article>
<article class="ally-card">
<span class="ally-badge ally-badge-warning">Revisión</span>
<h3>4</h3>
<p>Advertencias</p>
</article>
<article class="ally-card">
<span class="ally-badge ally-badge-info">Checks</span>
<h3>42</h3>
<p>Validaciones</p>
</article>
</div>
Contrato accesible
- Propósito
- Agrupa widgets en regiones con encabezados.
- Clases CSS
.ally-dashboard y modificadores de estado documentados.
- HTML
- Elemento semántico correspondiente, heading o nombre accesible y controles nativos.
- ARIA
- Usa HTML nativo primero y añade nombre, estado o relaciones ARIA solo cuando el patrón lo requiera.
- Teclado
- Tab sigue el orden lógico; los elementos nativos conservan su comportamiento estándar.
- Foco
- No altera el orden de foco ni el orden de lectura del DOM.
- Estados
- Responsive, fluido y contenido según el componente.
- Ally Debug
- Valida estructura, nombres, relaciones, controles y estados detectables dentro del scope.
Estados y variantes
defaultfocusactivedisablederror
Los estados visibles deben acompañarse de texto, atributos nativos o propiedades ARIA; nunca dependen solo del color.
Accesibilidad
Prueba obligatoria: semántica, teclado, foco visible, zoom al 200%, contraste, reduced motion y lector de pantalla.
No hacer
HTML
<div class="ally-dashboard">Contenido sin elemento semántico, nombre accesible ni estados asociados.</div>
Un contenedor genérico con una clase visual no reemplaza la semántica, el nombre accesible ni la gestión de estados.