Datos

Lista infinita

Solicita más resultados preservando foco y anuncio.

.ally-infiniteMVP 1.0Accesible por defecto

Ejemplo

Vista real construida con los archivos compilados de Ally.

  • Resultado 1
  • Resultado 2
  • Resultado 3

3 resultados cargados.

Usar paginación alternativa
HTML
<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-infinite y 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

HTML
<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.