Especiales
Mapa interactivo
Presenta ubicaciones con controles de teclado y lista alternativa.
Ejemplo
Vista real construida con los archivos compilados de Ally.
- 1. Santiago — Avenida Principal 123
- 2. Valparaíso — Calle Puerto 45
<div class="ally-map">
<div data-ally-map-visual aria-label="Mapa de oficinas">
<button type="button" data-ally-marker style="inset-inline-start:20%;inset-block-start:32%" aria-label="Oficina Santiago">1</button>
<button type="button" data-ally-marker style="inset-inline-start:68%;inset-block-start:58%" aria-label="Oficina Valparaíso">2</button>
</div>
<ul class="ally-map-list" data-ally-map-list>
<li>
<strong>1. Santiago</strong> — Avenida Principal 123</li>
<li>
<strong>2. Valparaíso</strong> — Calle Puerto 45</li>
</ul>
</div>
Contrato accesible
- Propósito
- Presenta ubicaciones con controles de teclado y lista alternativa.
- Clases CSS
.ally-mapy modificadores de estado documentados.- HTML
- Elemento semántico correspondiente, heading o nombre accesible y controles nativos.
- ARIA
- Región nombrada, marcadores con nombre y lista alternativa.
- Teclado
- Tab recorre marcadores; Enter activa; lista alternativa disponible.
- 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-map">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.