Aller au contenu
SilktideAide

Attribut scope obsolète

Silktide recherche des attributs scope placés sur des cellules de données de tableau ordinaires. L’attribut scope décrit à quoi s’applique un en-tête, il ne doit donc apparaître que sur les cellules d’en-tête ; sur une cellule de données, il est obsolète et peut induire les technologies d’assistance en erreur.

En , scope est défini pour les cellules d’en-tête <th>. Le placer sur une cellule de données <td> signifie généralement l’une de ces deux choses : la cellule est en réalité un en-tête et devrait être une <th>, ou l’attribut est hérité d’un ancien balisage et doit être supprimé.

<!-- Problème : scope sur une cellule de données -->
<td scope="col">Name</td>

Pourquoi c’est important

Un construit sa représentation d’un tableau à partir du balisage. Un attribut scope sur une cellule de données constitue un signal contradictoire : l’élément dit « Je contiens des données » tandis que l’attribut dit « Je décris d’autres cellules ». Différentes résolvent cette contradiction de manières diverses - certaines ignorent l’attribut, d’autres traitent la cellule comme un en-tête - si bien que le tableau peut être annoncé avec des en-têtes erronés ou incohérents selon le logiciel utilisé par le visiteur.

Comment le corriger

Décidez de ce qu’est réellement la cellule :

  1. Si elle agit comme un en-tête, remplacez-la par une <th> et conservez une valeur scope valide (row, col, rowgroup ou colgroup) :
<!-- Corrigé : l’en-tête est une véritable cellule d’en-tête -->
<th scope="col">Name</th>
  1. Si c’est une donnée ordinaire, supprimez complètement l’attribut scope :
<!-- Corrigé : cellule de données simple -->
<td>Name</td>

Comment Silktide teste cela

  1. Trouver toutes les cellules de tableau sur chaque page.
  2. Signaler chaque cellule de données <td> qui comporte un attribut scope, quelle que soit sa valeur.

En savoir plus

Dernière mise à jour

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