Aller au contenu
SilktideAide

Ancre manquante

Silktide teste les liens qui pointent vers une partie spécifique de la même page - comme #content - et signale ceux dont la cible n'existe pas. Cliquer sur un tel lien ne produit aucun effet, laissant l'utilisateur là où il était.

<!-- Cassé : aucun élément de la page n'a id="content" -->
<a href="#content">Passer au contenu</a>

<!-- Corrigé : la cible existe -->
<a href="#content">Passer au contenu</a>
...
<main id="content">...</main>

Pourquoi c'est important

Les liens vers des ancres manquantes échouent silencieusement : il n'y a pas de page d'erreur, la page ne se déplace tout simplement pas. Pour les utilisateurs voyants, c'est déroutant ; pour les utilisateurs de et de clavier, c'est pire, car ces liens internes sont souvent précisément les mécanismes - comme « passer au contenu » ou une table des matières - qui rendent une longue page navigable. Une ancre cassée supprime discrètement ce raccourci.

Comment le corriger

  1. Ajouter la cible manquante : donnez à l'élément visé un id correspondant au fragment du lien, par exemple <section id="pricing"> pour un lien vers #pricing.
  2. Ou corrigez le lien si la cible existe avec un id différent - les fragments sont sensibles à la casse, donc #Pricing ne correspond pas à id="pricing".
  3. Si le lien n'existe que pour déclencher du , faites quand même pointer son fragment vers l'id de l'élément réel. Le lien conserve ainsi son sens sans JavaScript ; vous devrez peut-être empêcher le défilement par défaut dans votre script.
<!-- Le fragment correspond à l'élément que le script révèle -->
<a href="#details" onclick="toggle('details')">Afficher les détails</a>
<div id="details">...</div>

Comment Silktide teste cela

  1. Trouver chaque lien de la page dont la destination inclut un fragment (la partie après #).
  2. Ne garder que les liens qui pointent vers la page actuelle - soit des liens purement #fragment, soit des URL complètes vers la même page. Les liens vers des ancres sur d'autres pages ne sont pas testés par ce contrôle.
  3. Rechercher un élément dont l'id correspond au fragment, ou une ancre héritée <a name="..."> avec un nom correspondant.
  4. Signaler le lien si ni l'un ni l'autre n'existe.

En savoir plus

Dernière mise à jour

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