Liens factices
Silktide repère des liens qui pointent vers #, une adresse Web signifiant « le haut de cette page ». Ceux-ci sont généralement des liens factices — ajoutés avant que leur destination n’existe et jamais mis à jour — ou des liens détournés pour déclencher des scripts.
<!-- Lien factice laissé en place : ne mène à rien d’utile -->
<a href="#">En savoir plus</a>
<!-- Lien détourné pour exécuter un script -->
<a href="#" onclick="openMenu()">Menu</a>
Pourquoi c’est important
Un visiteur qui clique un lien # s’attend à aller quelque part; à la place, la page fait défiler vers le haut, ce qui semble brisé. Lorsque ce procédé est utilisé pour déclencher , il induit aussi en erreur les technologies d’assistance : un l’annonce comme un lien, promettant une navigation, alors qu’il se comporte en fait comme un bouton — et si les scripts ne se chargent pas, il ne fait rien du tout.
Ces liens sont souvent des restes : un gabarit livré avec une navigation factice, ou un lien « bientôt disponible » que personne n’a revu.
Comment corriger
- Si le lien devait mener quelque part, faites pointer son
hrefvers la vraie destination. - S’il déclenche un script, remplacez-le par un
<button>, ce à quoi les technologies d’assistance s’attendent pour les actions :
<!-- Avant : un lien qui se fait passer pour un bouton -->
<a href="#" onclick="openMenu()">Menu</a>
<!-- Après : un vrai bouton, au style de votre choix -->
<button onclick="openMenu()">Menu</button>
- Si le lien n’a aucune utilité, supprimez-le ou remplacez-le par du texte simple.
- Si un lien
#est réellement intentionnel — par exemple, inséré par un cadriciel qui l’améliore de façon fiable — le constat afin qu’il ne soit plus signalé.
Comment Silktide teste cela
- Rechercher chaque lien standard sur chaque page.
- Signaler chacun dont le
hrefest exactement#.
Les liens pointant vers des positions nommées dans la page, comme #news, sont légitimes et ne sont pas signalés.
Dépannage
Le lien fonctionne parce que JavaScript le gère
Cela fonctionne pour les utilisateurs de la souris lorsque les scripts se chargent correctement, mais il s’annonce tout de même comme un lien pour les technologies d’assistance et fait défiler vers le haut lorsque le script échoue. Un <button> se comporte correctement dans tous ces cas; si modifier le balisage est irréalisable, approuvez le constat.
Le « # » provient d’un cadriciel ou d’un composant de CMS
Les composants de menu et d’onglets de certains cadriciels et thèmes de émettent href=\"#\" par défaut. Consultez la documentation du composant pour une façon d’afficher un bouton ou une vraie destination à la place.