Critère 5.7

Pour chaque tableau de données, la technique appropriée permettant d’associer chaque cellule avec ses en-têtes est-elle utilisée (hors cas particuliers) ?

Pré-vérifiéRGAA 4.1.25 tests officiels

Comprendre

Chaque cellule doit être associée à ses en-têtes avec la technique adaptée (scope ou headers).

Ce critère s’applique lorsque la page contient : tableaux de données.

Ce que vérifie Agence RGAA

Notre moteur détecte automatiquement des anomalies, mais une personne doit confirmer la pertinence avant de conclure.

Nous détectons automatiquement :

  • attributs headers incohérents
  • attributs scope invalides

Un résultat automatique n’est jamais un audit : seul un contrôle humain (en interne ou par un auditeur RGAA) permet de conclure.

Exemple de correction

Tableau simple : scope suffit
<th scope="col">Service</th>
<th scope="row">Mairie</th>
Tableau complexe : id et headers
<th id="t1">1er trimestre</th>
<th id="ventes">Ventes</th>
<td headers="t1 ventes">12 000 €</td>
Voir un exemple à éviter
headers qui pointe vers un id inexistant
<td headers="inconnu">12 000 €</td>
  • Chaque id référencé dans headers doit exister et être unique dans la page.

Patron de référence à adapter à votre contexte : il ne vaut pas validation du critère.

Tests officiels

  1. Test 5.7.1

    Pour chaque contenu de balise <th> s’appliquant à la totalité de la ligne ou de la colonne, la balise <th> respecte-t-elle une de ces conditions (hors cas particuliers) ? La balise <th> possède un attribut id unique ; La balise <th> possède un attribut scope ; La balise <th> possède un attribut WAI-ARIA role="rowheader" ou role="columnheader".

    Méthodologie de test
    1. Retrouver dans le document les tableaux de données ;
    2. Pour chaque en-tête (élément <th>) s’appliquant à la totalité de la ligne ou de la colonne, vérifier que l’élément <th> possède :
      • Soit un attribut id unique ;
      • Soit un attribut scope ;
      • Soit un attribut WAI-ARIA role="rowheader" ou "columnheader".
    3. Si c’est le cas pour chaque en-tête s’appliquant à la totalité de la ligne ou de la colonne, le test est validé.
  2. Test 5.7.2

    Pour chaque contenu de balise <th> s’appliquant à la totalité de la ligne ou de la colonne et possédant un attribut scope, la balise <th> vérifie-t-elle une de ces conditions ? La balise <th> possède un attribut scope avec la valeur "row" pour les en-têtes de ligne ; La balise <th> possède un attribut scope avec la valeur "col" pour les en-têtes de colonne.

    Méthodologie de test
    1. Retrouver dans le document les tableaux de données ;
    2. Pour chaque en-tête (élément <th>) s’appliquant à la totalité de la ligne ou de la colonne et pourvu d’un attribut scope, vérifier que l’attribut scope possède :
      • Soit une valeur "row" pour les en-têtes de ligne ;
      • Soit une valeur "col" pour les en-têtes de colonne.
    3. Si c’est le cas pour chaque en-tête s’appliquant à la totalité de la ligne ou de la colonne et pourvu d’un attribut scope, le test est validé.
  3. Test 5.7.3

    Pour chaque contenu de balise <th> ne s’appliquant pas à la totalité de la ligne ou de la colonne, la balise <th> vérifie-t-elle ces conditions ? La balise <th> ne possède pas d’attribut scope ; La balise <th> ne possède pas d’attribut WAI-ARIA role="rowheader" ou role="columnheader" ; La balise <th> possède un attribut id unique.

    Méthodologie de test
    1. Retrouver dans le document les tableaux de données ;
    2. Pour chaque en-tête (élément <th>) ne s’appliquant pas à la totalité de la ligne ou de la colonne, vérifier que l’élément <th> :
      • Possède un attribut id unique ;
      • Et ne possède pas d’attribut scope ;
      • Et ne possède pas d’attribut WAI-ARIA role="rowheader" ou "columnheader".
    3. Si c’est le cas pour chaque en-tête ne s’appliquant pas à la totalité de la ligne ou de la colonne, le test est validé.
  4. Test 5.7.4

    Pour chaque contenu de balise <td> ou <th> associée à un ou plusieurs en-têtes possédant un attribut id, la balise vérifie-t-elle ces conditions ? La balise possède un attribut headers ; L’attribut headers possède la liste des valeurs d’attribut id des en-têtes associés.

    Méthodologie de test
    1. Retrouver dans le document les tableaux de données ;
    2. Pour chaque élément <td> ou <th> associé à un ou plusieurs en-têtes possédant un attribut id, vérifier que :
      • L’élément <td> ou <th> possède un attribut headers ;
      • Et l’attribut headers possède la liste des valeurs d’attribut id des en-têtes associés.
    3. Si c’est le cas pour chaque élément <td> ou <th> associé à un ou plusieurs en-têtes possédant un attribut id, le test est validé.
  5. Test 5.7.5

    Pour chaque balise pourvue d’un attribut WAI-ARIA role="rowheader" ou role="columnheader" dont le contenu s’applique à la totalité de la ligne ou de la colonne, la balise vérifie-t-elle une de ces conditions ? La balise possède un attribut WAI-ARIA role="rowheader" pour les en-têtes de ligne ; La balise possède un attribut WAI-ARIA role="columnheader" pour les en-têtes de colonne.

    Méthodologie de test
    1. Retrouver dans le document les tableaux de données ;
    2. Pour chaque en-tête s’appliquant à la totalité de la ligne ou de la colonne et pourvu d’un attribut WAI-ARIA role="rowheader" ou "columnheader", vérifier que l’élément possède :
      • Soit un attribut WAI-ARIA role="rowheader" pour les en-têtes de ligne ;
      • Soit un attribut WAI-ARIA role="columnheader" pour les en-têtes de colonne.
    3. Si c’est le cas pour chaque en-tête s’appliquant à la totalité de la ligne ou de la colonne et pourvu d’un attribut WAI-ARIA role="rowheader" ou "columnheader", le test est validé.

Texte officiel du référentiel RGAA 4.1.2 publié par la DINUM — voir la source.

Critère RGAA 5.7 : Pour chaque tableau de données, la technique appropriée permettant d’associer chaque cellule avec ses en-têtes est-el… | Agence RGAA