Le <a href==##> lien </a> est-il un lien brisé?


12

Lorsque vous utilisez des liens de fragments d'URL vides, pour envoyer un utilisateur en haut de la page (par exemple <a href="#">return to top</a>), ces liens sont-ils considérés comme rompus ou non valides? L'un de mes outils consiste à les renvoyer tous sous forme de liens rompus.


Quel "outil" les considère comme cassés?
MrWhite

Un programme PHP que j'utilise pour générer un plan du site.
Nathan

@Su ': pourquoi avez-vous supprimé mes remerciements? J'étais sincère!
Nathan

4
@Nathan, je suis sûr que tu l'étais. Mais les sites SE ne sont pas vraiment des forums de discussion et c'est essentiellement une perte de temps et d'espace. Posez simplement la question . Montrez votre appréciation en votant / en acceptant les réponses. La réponse de Jeff est la "canonique", mais voyez certaines des autres pour des prises différentes.
Su '17

Réponses:


11

Techniquement, "#" est une référence URL bien définie qui pointe vers le début du document actuel, donc il n'est pas "cassé" au sens formel. Il peut, cependant, être considéré comme mauvais pour l'accessibilité , et c'est aussi un symptôme courant de «faux» liens, c'est-à-dire des aéléments qui sont censés se lier à quelque chose d'extérieur mais dépendent de JavaScript. (Autrefois, <a href="..." onclick="...">c'était le seul type d'élément qui supportait l' onclickattribut, donc les gens écrivaient l' href="#"attribut "factice" , qui n'est pas vraiment factice.)

Vous pouvez donc considérer cela comme un message d'erreur incorrect, ou comme un message d'avertissement utile qui pourrait être un peu mal formulé.


1
Avez-vous une source pour # être bien défini et pointer vers le début du document (c'est-à-dire une spécification w3c)?
DisgruntledGoat

2
@DisgruntledGoat, il est spécifié dans la norme Internet STD 66, «Uniform Resource Identifier (URI): Syntaxe générique», clause 4.4. Référence du même document, disponible par exemple sur tools.ietf.org/html/std66#section-4.4
Jukka K. Korpela

1
Félicitations pour avoir fourni une source, bien que je ne vois rien qui spécifie #à lui seul fait référence au début du document.
DisgruntledGoat

1
Eh bien, oui, la norme n'est pas trop claire à ce sujet, mais il est naturel de supposer qu'un document référencé est initialement positionné au début. Son prédécesseur RFC 2396 était plus explicite: «4.2. Références du même document. Une référence d'URI qui ne contient pas d'URI est une référence au document actuel. En d'autres termes, une référence URI vide dans un document est interprétée comme une référence au début de ce document, et une référence contenant uniquement un identifiant de fragment est une référence au fragment identifié de ce document. »
Jukka K. Korpela

3

Je ne pense pas qu'il soit considéré comme un lien brisé.

Le lien brisé est un lien qui pointe vers des ressources n'existe pas (réponse HTTP 404).


1
Ne cachez pas cette réponse avec "À mon avis". Ce n'est pas une question d'opinion, c'est une question de fait (et vous avez raison).
msanford

1
@msanford: Vous avez raison, j'ai modifié ma réponse.
Zistoloen
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.