¿Es <a href= olvida#"> enlace </a> un enlace roto?

12

Cuando se usan enlaces de fragmentos de URL vacíos, para enviar a un usuario a la parte superior de la página (por ejemplo <a href="#">return to top</a>), ¿se consideran estos enlaces rotos o no válidos? Una de mis herramientas es devolverlos a todos como enlaces rotos.

Nathan
fuente
¿Qué "herramienta" los considera rotos?
MrWhite
Un programa PHP que uso para generar un mapa del sitio.
Nathan
@Su ': ¿por qué borraste mi agradecimiento? Yo era sincero!
Nathan
44
@Nathan, estoy seguro de que sí. Pero los sitios de SE no son realmente foros de discusión y es básicamente una pérdida de tiempo y espacio. Solo haz la pregunta . Muestre su agradecimiento votando / aceptando respuestas. La respuesta de Jeff es la "canónica", pero vea algunas de las otras para diferentes tomas.
Su '17 de

Respuestas:

11

Técnicamente, "#" es una referencia de URL bien definida que apunta al inicio del documento actual, por lo que no está "roto" en sentido formal. Sin embargo, puede considerarse malo para la accesibilidad , y también es un síntoma común de enlaces "falsos", es decir, aelementos que se supone que se vinculan a algo externo pero que dependen de JavaScript. (En los viejos tiempos, <a href="..." onclick="...">era el único tipo de elemento que soportaba el onclickatributo, por lo que la gente escribió el href="#"atributo "ficticio" , que no es realmente ficticio).

Por lo tanto, puede considerar esto como un mensaje de error incorrecto o como un mensaje de advertencia útil que podría estar un poco mal formulado.

Jukka K. Korpela
fuente
1
¿Tiene una fuente para # que esté bien definida y que señale el inicio del documento (es decir, una especificación w3c)?
DisgruntledGoat
2
@DisgruntledGoat, se especifica en STD 66 estándar de Internet, "Identificador uniforme de recursos (URI): sintaxis genérica", cláusula 4.4. Referencia del mismo documento, disponible por ejemplo en tools.ietf.org/html/std66#section-4.4
Jukka K. Korpela
1
Felicitaciones por proporcionar una fuente, aunque no veo nada que especifique #por sí solo se refiere al comienzo del documento.
DisgruntledGoat
1
Bueno, sí, el estándar no es muy claro al respecto, pero es natural suponer que un documento referenciado se coloca inicialmente al principio. Su predecesor RFC 2396 fue más explícito: “4.2. Referencias del mismo documento. Una referencia de URI que no contiene un URI es una referencia al documento actual. En otras palabras, una referencia de URI vacía dentro de un documento se interpreta como una referencia al comienzo de ese documento, y una referencia que contiene solo un identificador de fragmento es una referencia al fragmento identificado de ese documento ".
Jukka K. Korpela
3

No creo que se considere un enlace roto.

El enlace roto es un enlace que apunta a que los recursos no existen (respuesta HTTP 404).

Zistoloen
fuente
1
No proteja esta respuesta con "En mi opinión". No es una cuestión de opinión, es una cuestión de hecho (y tienes razón).
msanford
1
@msanford: Tienes razón, edité mi respuesta.
Zistoloen