Contenido

Icono

Presenta un icono decorativo o informativo con decisión explícita.

.ally-iconMVP 1.0Accesible por defecto

Ejemplo

Vista real construida con los archivos compilados de Ally.

Ícono decorativo oculto a tecnologías asistivas
HTML
<div class="stack-r ally-align-center">
<svg class="ally-icon disable-al" aria-hidden="true" width="32" height="32" viewBox="0 0 24 24" fill="none">
<path d="M12 3l8 4v5c0 5-3.5 8-8 9-4.5-1-8-4-8-9V7l8-4z" stroke="currentColor" stroke-width="2"/>
</svg>
<span>Ícono decorativo oculto a tecnologías asistivas</span>
</div>

Contrato accesible

Propósito
Presenta un icono decorativo o informativo con decisión explícita.
Clases CSS
.ally-icon 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 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

HTML
<div class="ally-icon">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.