Navegación
Menú hamburguesa
Abre y cierra navegación compacta con estado accesible.
Ejemplo
Vista real construida con los archivos compilados de Ally.
<div class="ally-hamburger">
<button class="ally-btn ally-hamburger-trigger" type="button" data-ally-hamburger-trigger>Menú</button>
<nav class="ally-hamburger-menu" data-ally-hamburger-panel aria-label="Menú compacto" hidden>
<ul class="ally-list">
<li>
<a href="#inicio">Inicio</a>
</li>
<li>
<a href="#docs">Documentación</a>
</li>
</ul>
</nav>
</div>
Contrato accesible
- Propósito
- Abre y cierra navegación compacta con estado accesible.
- Clases CSS
.ally-hamburgery modificadores de estado documentados.- HTML
- Elemento semántico correspondiente, heading o nombre accesible y controles nativos.
- ARIA
- aria-expanded y aria-controls en el botón.
- Teclado
- Enter o Space alterna el menú; Escape cierra.
- Foco
- Foco visible y predecible; overlays devuelven el foco al control que los abrió.
- Estados
- closed, open, active, selected, expanded, disabled y loading según aplique.
- 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-hamburger">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.