Saltar al contenido
SilktideAyuda

Enlaces de marcador de posición

Silktide encuentra enlaces que apuntan a #, una URL que significa «la parte superior de esta página». Suelen ser marcadores de posición —enlaces añadidos antes de que existiera su destino y que nunca se actualizaron— o enlaces reutilizados para ejecutar scripts.

<!-- Marcador de posición dejado atrás: no lleva a ningún sitio útil -->
<a href="#">Leer más</a>

<!-- Enlace usado para ejecutar un script -->
<a href="#" onclick="openMenu()">Menú</a>

Por qué es importante

Quien hace clic en un enlace # espera ir a algún sitio; en cambio, la página simplemente se desplaza a la parte superior, lo que se percibe como un fallo. Cuando este patrón se usa para activar , también engaña a la : un lo anuncia como un enlace, prometiendo navegación, cuando en realidad se comporta como un botón; y si los scripts no se cargan, no hace nada en absoluto.

Estos enlaces suelen ser restos: una plantilla que incluía navegación de marcador de posición, o un enlace de «próximamente» que nadie volvió a revisar.

Cómo solucionarlo

  1. Si el enlace debía ir a algún sitio, apunta su href al destino real.
  2. Si activa un script, sustitúyelo por un <button>, que es lo que la espera para las acciones:
<!-- Antes: un enlace que finge ser un botón -->
<a href="#" onclick="openMenu()">Menú</a>

<!-- Después: un botón real, con el estilo que quieras -->
<button onclick="openMenu()">Menú</button>
  1. Si el enlace no cumple ninguna función, elimínalo o sustitúyelo por texto sin formato.
  2. Si un enlace # está realmente previsto —por ejemplo, insertado por un framework que lo mejora de forma fiable— el hallazgo para que no vuelva a mostrarse.

Cómo lo comprueba Silktide

  1. Encontrar todos los enlaces convencionales en cada página.
  2. Notificar cada uno cuyo href sea exactamente #.

Los enlaces a posiciones con nombre en la página, como #news, son legítimos y no se notifican.

Solución de problemas

El enlace funciona porque JavaScript lo gestiona

Funciona para quienes usan el ratón mientras los scripts se cargan correctamente, pero sigue anunciándose como un enlace a la tecnología de asistencia y sigue desplazándose a la parte superior cuando el script falla. Un <button> se comporta correctamente en todos esos casos; si cambiar el marcado no es viable, aprueba el hallazgo.

El # proviene de un framework o de un componente del CMS

Los componentes de menús y pestañas en algunos frameworks y temas de emiten href="#" de forma predeterminada. Consulta la documentación del componente para ver cómo renderizar un botón o un destino real en su lugar.

Más información

Última actualización

¿Le ha resultado útil esta página?