Formularios

Filtro

Aplica filtros y anuncia cambios.

.ally-filterMVP 1.0Accesible por defecto

Ejemplo

Vista real construida con los archivos compilados de Ally.

HTML
<form class="ally-filter ally-panel">
<div class="stack-r">
<div class="ally-field">
<label class="ally-label" for="page-filtro-filter-status">Estado</label>
<select class="ally-select" id="page-filtro-filter-status" name="estado">
<option>Todos</option>
<option>Error</option>
<option>Warning</option>
</select>
</div>
<label class="ally-checkbox">
<input name="automaticos" type="checkbox"> Solo automáticos</label>
<button class="ally-btn" type="button" data-ally-filter-clear>Limpiar</button>
</div>
<p data-ally-filter-status aria-live="polite">
</p>
</form>

Contrato accesible

Propósito
Aplica filtros y anuncia cambios.
Clases CSS
.ally-filter 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 recorre controles; cambios se anuncian.
Foco
El label conduce al control; el primer error recibe foco tras un envío inválido.
Estados
default, hover, focus, disabled, required, valid, invalid y loading.
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-filter">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.