Liens factices
Silktide repère des liens qui pointent vers #, une adresse web qui signifie « le haut de cette
page ». Il s’agit généralement de liens factices — des liens ajoutés avant que leur destination
n’existe et qui n’ont jamais été mis à jour — ou de 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 sur un lien # s’attend à aller quelque part ; au lieu de cela, la page
remonte simplement en haut, ce qui donne l’impression d’un dysfonctionnement. Lorsque cette
pratique est utilisée pour déclencher , elle induit également en erreur
les technologies d’assistance : un l’annonce comme un lien, en
promettant une navigation, alors qu’en réalité il se comporte comme un bouton — et si les scripts
échouent à se charger, il ne fait rien du tout.
Ces liens sont souvent des restes : un modèle livré avec une navigation factice, ou un lien « bientôt disponible » que personne n’a reconsidéré.
Comment corriger
- Si le lien était censé mener quelque part, faites pointer son
hrefvers la véritable destination. - S’il déclenche un script, remplacez-le par un
<button>, ce que les attendent pour des actions :
<!-- Avant : un lien qui se fait passer pour un bouton -->
<a href="#" onclick="openMenu()">Menu</a>
<!-- Après : un vrai bouton, mis en forme comme vous le souhaitez -->
<button onclick="openMenu()">Menu</button>
- S’il 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 framework qui l’améliore de manière fiable — le constat afin qu’il ne soit plus signalé.
Comment Silktide teste cela
- Trouver chaque lien classique sur chaque page.
- Signaler chacun dont le
hrefest exactement#.
Les liens vers des positions nommées sur 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 tant que les scripts se chargent correctement,
mais il s’annonce tout de même comme un lien auprès des technologies d’assistance et fait toujours
remonter en haut lorsque le script échoue. Un <button> se comporte correctement dans tous ces cas ;
si modifier le balisage est impraticable, approuvez le constat.
Le # provient d’un framework ou d’un composant CMS
Les composants de menu et d’onglets de certains frameworks et thèmes de produisent
href="#" par défaut. Consultez la documentation du composant pour une manière d’afficher un
bouton ou une véritable destination à la place.