Contenido
Sin resultados
Estado vacío
Explica que no hay datos y propone una acción siguiente.
Ejemplo
Vista real construida con los archivos compilados de Ally.
No encontramos proyectos
Crea tu primer proyecto o ajusta los filtros activos.
<section class="ally-empty">
<span class="ally-badge ally-badge-info">Sin resultados</span>
<h3>No encontramos proyectos</h3>
<p>Crea tu primer proyecto o ajusta los filtros activos.</p>
<button class="ally-btn ally-btn-primary" type="button">Crear proyecto</button>
</section>
Contrato accesible
- Propósito
- Explica que no hay datos y propone una acción siguiente.
- Clases CSS
.ally-emptyy 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 introduce controles invisibles ni altera el orden lógico.
- Estados
- default, hover, focus, active y disabled cuando corresponda.
- 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
<div class="ally-empty">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.