Passer au contenu
SilktideAide

Ancre manquante

Silktide teste les liens qui pointent vers une partie précise 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; la personne reste là où elle était.

<!-- Brisé : rien sur 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 personnes voyantes, c’est déroutant; pour les utilisateurs de et les personnes qui utilisent le 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 brisée supprime discrètement ce raccourci.

Comment corriger

  1. Ajoutez 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 sous un autre id - les fragments respectent 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 ceci

  1. Repérer tous les liens de la page dont la destination comprend un fragment (la partie après #).
  2. Ne conserver 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 cette vérification.
  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 aucun des deux n’existe.

En savoir plus

Dernière mise à jour

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

Ancre manquante | Aide de Silktide