Breadcrumbs

Ruta de navegación jerárquica para indicar la ubicación actual dentro del sitio.

Estado: draft

Vista Previa

1. Estado por defecto y Current Page

2. Estado Hover

3. Estado Focus

4. Varios niveles de navegación

# Breadcrumbs

Las migas de pan (o *breadcrumbs*) indican la posición de la página actual dentro de la jerarquía de navegación del sitio web. Permiten a las personas usuarias comprender la estructura de las páginas y subir de nivel fácilmente.

Cuándo usarlo

- En sitios web con estructuras jerárquicas profundas (3 niveles o más). - Como sistema de navegación secundaria complementario, no como reemplazo de la navegación principal.

Cuándo no usarlo

- En webs muy simples o "flat" con solo 1 o 2 niveles de profundidad. - Como sustituto del menú de navegación principal.

Elementos y Estados Visuales

El componente incluye los siguientes estados visuales fieles al diseño:

Accesibilidad y Marcado Semántico

- Contenedor: El bloque principal emplea un contenedor <nav> con el atributo aria-label="Breadcrumbs" (o equivalente en español como aria-label="Migas de pan") para identificar la zona de navegación para lectores de pantalla. - Listas ordenadas: Se usa <ol> y <li> para preservar el significado de jerarquía secuencial estricta. - Separadores: El icono separador tiene aria-hidden="true" y está dentro de una etiqueta neutra (<span>) que se oculta al lector de pantalla para no entorpecer la narración (la propia lista ordenada da contexto suficiente). - Página actual: - El último nivel (página actual) se resuelve mediante un <span> en lugar de un enlace operativo <a> para evitar la redundancia de enlazar a la propia página y generar interacciones inútiles. - Para mayor corrección semántica y de asistencia, se utiliza aria-current="page" en dicho <span>, lo que notifica explícitamente a los lectores de pantalla que es el elemento final de la jerarquía activa.

HTML

<nav class="breadcrumbs" aria-label="Breadcrumbs">
  <ol class="breadcrumbs__list">
    <li class="breadcrumbs__item">
      <a href="#" class="breadcrumbs__link">Inicio</a>
    </li>
    <li class="breadcrumbs__item" aria-hidden="true">
      <span class="breadcrumbs__separator">
        <svg viewBox="0 0 24 24" width="21" height="21" aria-hidden="true" focusable="false">
          <path fill="currentColor" d="M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z"/>
        </svg>
      </span>
    </li>
    <li class="breadcrumbs__item">
      <a href="#" class="breadcrumbs__link">Sección</a>
    </li>
    <li class="breadcrumbs__item" aria-hidden="true">
      <span class="breadcrumbs__separator">
        <svg viewBox="0 0 24 24" width="21" height="21" aria-hidden="true" focusable="false">
          <path fill="currentColor" d="M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z"/>
        </svg>
      </span>
    </li>
    <li class="breadcrumbs__item">
      <span class="breadcrumbs__link breadcrumbs__link--current" aria-current="page">Página actual</span>
    </li>
  </ol>
</nav>