Passer au contenu
SilktideAide

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

  1. Si le lien devait mener quelque part, faites pointer son href vers la vraie destination.
  2. 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>
  1. Si le lien n’a aucune utilité, supprimez-le ou remplacez-le par du texte simple.
  2. 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

  1. Rechercher chaque lien standard sur chaque page.
  2. Signaler chacun dont le href est 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.

Pour en savoir plus

Dernière mise à jour

Cette page vous a-t-elle été utile?

Liens factices | Aide de Silktide