Saltar al contenido
SilktideAyuda

Ancla ausente

Silktide comprueba los enlaces que apuntan a una parte concreta de la misma página —como #content— e informa de aquellos cuyo destino no existe. Al hacer clic en un enlace así, no ocurre nada: el usuario se queda donde estaba.

<!-- Roto: en la página no hay nada con id="content" -->
<a href="#content">Saltar al contenido</a>

<!-- Corregido: el destino existe -->
<a href="#content">Saltar al contenido</a>
...
<main id="content">...</main>

Por qué es importante

Los enlaces a anclas inexistentes fallan de forma silenciosa: no aparece ninguna página de error, la página simplemente no se desplaza. Para los usuarios videntes esto es confuso; para usuarios de y de teclado es peor, porque estos enlaces dentro de la página suelen ser precisamente los mecanismos —como «saltar al contenido» o un índice— que hacen navegable una página larga. Un ancla rota elimina discretamente ese atajo.

Cómo solucionarlo

  1. Añada el destino que falta: asigne al elemento previsto un id que coincida con el fragmento del enlace, por ejemplo <section id="pricing"> para un enlace a #pricing.
  2. O corrija el enlace si el destino existe con otro id — los fragmentos distinguen entre mayúsculas y minúsculas, por lo que #Pricing no coincide con id="pricing".
  3. Si el enlace existe solo para activar , haga que su fragmento apunte igualmente al id del elemento real. Así, el enlace conserva su significado sin JavaScript; puede que necesite evitar el desplazamiento predeterminado en su script.
<!-- El fragmento coincide con el elemento que revela el script -->
<a href="#details" onclick="toggle('details')">Mostrar detalles</a>
<div id="details">...</div>

Cómo lo comprueba Silktide

  1. Busca cada enlace de la página cuyo destino incluye un fragmento (la parte después de #).
  2. Conserva solo los enlaces que apuntan a la página actual —ya sean enlaces puramente #fragmento o URL completas a la misma página—. Los enlaces a anclas en otras páginas no se comprueban en esta verificación.
  3. Busca un elemento cuyo id coincida con el fragmento, o un ancla heredada <a name="..."> con un nombre coincidente.
  4. Marca el enlace si no existe ninguno de los dos.

Más información

Última actualización

¿Le ha resultado útil esta página?