Datos
Lista infinita
Solicita más resultados preservando foco y anuncio.
Ejemplo
Vista real construida con los archivos compilados de Ally.
- Resultado 1
- Resultado 2
- Resultado 3
3 resultados cargados.
Usar paginación alternativa<section class="ally-infinite" aria-busy="false">
<ul class="ally-list">
<li class="ally-panel">Resultado 1</li>
<li class="ally-panel">Resultado 2</li>
<li class="ally-panel">Resultado 3</li>
</ul>
<div data-ally-infinite-sentinel aria-hidden="true">
</div>
<p data-ally-infinite-status role="status">3 resultados cargados.</p>
<a href="#paginacion">Usar paginación alternativa</a>
</section>
Contrato accesible
- Propósito
- Solicita más resultados preservando foco y anuncio.
- Clases CSS
.ally-infinitey modificadores de estado documentados.- HTML
- Elemento semántico correspondiente, heading o nombre accesible y controles nativos.
- ARIA
- aria-busy, región de estado y alternativa paginada.
- Teclado
- El foco permanece estable al cargar; existe alternativa paginada.
- Foco
- Mantiene foco estable durante actualizaciones y navegación.
- Estados
- empty, loading, selected, current, complete y error.
- 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-infinite">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.