Saltar al contenido principal

Catálogo · Documentación

Navegación entre páginas

Dos bloques de enlaces al final de una página, uno a la página anterior y otro a la siguiente, cada uno con el título de la página a la que lleva.

Encaja mejor en: cualquier sitio — el final de una página que forma parte de una secuencia

Esta traducción la ha escrito una IA y todavía no la ha revisado ninguna persona. Leer esta página en inglés

Ejemplo

Los dos bloques que enlazan con la página anterior y la siguiente.

Two blocks side by side, Next at the end; stacked at 640px and below. The whole block is the link.

Problemas conocidos

No se conocen.

Código

Copiar el marcado

Bundler
import "@luz-ds/catalog/components/pager.css";
HTML
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@luz-ds/catalog@0.3.0/dist/components/pager.min.css" integrity="sha384-apHOhshKXJ9cDKk4V1UbHHNZsD1LAKerRICcUm1M/Eq0D9+4MP773thdHVdCz+Hs" crossorigin="anonymous">

Una lista de uno o dos bloques dentro de una zona de navegación:

HTML
<nav aria-label="Previous and next page">
  <ul class="luz-pager">
    <li class="luz-pager__prev"><a class="luz-pager__link" rel="prev" href="/install/"><span class="luz-pager__label">Previous</span> <span class="luz-pager__title">Install the tool</span></a></li>
    <li class="luz-pager__next"><a class="luz-pager__link" rel="next" href="/deploy/"><span class="luz-pager__label">Next</span> <span class="luz-pager__title">Deploy to production</span></a></li>
  </ul>
</nav>

Variantes y opciones

No hay modificadores. Cada elemento indica en qué lado está.

ClaseEfecto
.luz-pager
En un <ul>: dos columnas iguales con separación y sin viñetas. Una columna a 640px o menos
.luz-pager__prev
En el primer <li>: la primera columna
.luz-pager__next
En el segundo <li>: la segunda columna, con el texto al final. Se mantiene ahí cuando no hay una página anterior
.luz-pager__link
En el <a>: todo el bloque es un enlace, con borde y relleno. Al pasar el cursor cambian el borde y la superficie, y se subraya el título
.luz-pager__label
«Anterior» o «Siguiente», en tamaño pequeño y con el color secundario
.luz-pager__title
El título de la página a la que lleva, más grande, en seminegrita y con el color de los enlaces

Cómo funciona

CSS de components/pager.css de @luz-ds/catalog. Define los bloques; tú decides el orden de las páginas.

  • Los dos bloques tienen el mismo tamaño y todo el bloque es el área de activación, así que resulta fácil hacer clic o tocarlo.
  • La primera página solo tiene «Siguiente» y la última solo «Anterior»: omite el otro <li>. Si solo hay «Siguiente», permanece al final de la segunda columna.
  • Cada enlace tiene rel="prev" o rel="next" y un nombre que empieza por el texto visible: «Anterior: Instalar la herramienta».
  • El título nunca se acorta: si es largo, se ajusta dentro del bloque.

Sin JavaScript

No cambia nada. Son dos enlaces y el paquete no incluye ningún script.

Teclado y ARIA

  • Orden: primero «Anterior» y después «Siguiente», como en el código fuente. Con Tab llegas a cada enlace y con Enter lo abres.
  • Nombres: el <nav> se llama «Página anterior y siguiente». El nombre de cada enlace coincide con su texto visible («Anterior: Instalar la herramienta»), así que quien oiga «pulsa Anterior» podrá encontrarlo (WCAG 2.5.3). No añadas un aria-label que lo sustituya.
  • Zona de referencia: usa un único bloque de navegación entre páginas en cada página. Si hay otro <nav>, necesita un nombre distinto.

La pestaña Diseño incluye Contraste y foco.

Diseño

Cuándo usarlo

Usa la navegación entre páginas al final del contenido para que, al terminar una página, quien lee pueda ir a la siguiente según el orden que hayas elegido.

  • Páginas que se leen en orden: una guía, un tutorial, los capítulos de un manual, los pasos de un curso o una serie de entradas. También sirve para cursos, series de entradas y cualquier conjunto ordenado de páginas.
  • Después del contenido y antes del pie de página.

Cuándo no usarlo

No uses la navegación entre páginas cuando las páginas no tengan un orden ni para las páginas de una lista de resultados.

  • La barra lateral ya incluye todas las páginas. La navegación entre páginas indica el siguiente paso, no muestra todo el mapa.
  • Para las páginas de una lista o tabla, usa la paginación, que incluye números de página.

Qué hacer y qué no

Hazlo Pon en cada bloque el título de la página a la que lleva para que se sepa adónde conduce el enlace.
Evítalo No pongas el título y deja solo «Siguiente»: quien lee no sabrá adónde lleva hasta que siga el enlace.

Cómo escribir el contenido

  • Las etiquetas y los títulos son tu texto, no de LUZ: los ejemplos de esta página son de ejemplo. Escríbelos para tu sitio y en su idioma.
  • Etiqueta: «Anterior» y «Siguiente» son una buena opción por defecto. Tradúcelas junto con el resto de la página o usa las palabras de tu sitio, como «Volver» y «Continuar».
  • Título: el título exacto de la página de destino, igual que en la barra lateral o que el encabezado de esa página.
  • Nombre: «Anterior: » o «Siguiente: » y el título. No añadas flechas ni la palabra «página».

Contraste y foco

Los bloques aparecen sobre la superficie de la página; al pasar el cursor, lo hacen sobre la superficie de interacción.

ElementoColor sobre fondoClaroOscuroAlto contrasteMínimo
Etiqueta
--luz-text-secondary on --luz-surface-page
6.2:1
7.5:1
19.3:1
4.5:1
Título
--luz-brand-primary on --luz-surface-page
5.6:1
7.7:1
14.1:1
4.5:1
Etiqueta al pasar el cursor
--luz-text-secondary on --luz-surface-hover
5.6:1
6.2:1
18.4:1
4.5:1
Título al pasar el cursor
--luz-brand-primary on --luz-surface-hover
5.1:1
6.4:1
13.5:1
4.5:1
Borde al pasar el cursor
--luz-outline on --luz-surface-page
4.3:1
3.6:1
21.0:1
3:1
Anillo de foco
--luz-focus-ring on --luz-surface-page
5.6:1
7.7:1
21.0:1
3:1

Medido a partir de los valores de los tokens de cada modo y redondeado hacia abajo. El mínimo es el de WCAG 2.2 AA: 4,5:1 para texto y 3:1 para anillos de foco, bordes e iconos.

  • Foco: cada bloque conserva el anillo de core, de 2 px, --luz-focus-ring, que se dibuja alrededor de todo el bloque.
  • Área de activación: cada bloque es un enlace de al menos 24px de alto y ocupa toda su mitad de la fila.
  • Bordes: el borde en reposo (--luz-divider) es decorativo y no tiene un mínimo.

Tokens que usa

Los 10 tokens que leen las reglas de .luz-pager de components/pager.css del catálogo, agrupados por familia. Cada familia enlaza a su página, donde están los valores de todos los modos. En Figma son variables con los mismos nombres; consulta Tokens en Figma.

Spacing and sizing
--luz-space-3xs, --luz-space-md, --luz-space-sm
Typography
--luz-text-lg, --luz-text-sm
Radius
--luz-radius-md

La pestaña Código incluye Teclado y ARIA.