Rule 5.7.4
Summary
This rule checks that headers attributes on table cells (<td> or <th>) reference existing ids.
Business description
Criterion
Test
Description
Pour chaque contenu de balise
<td>ou<th>associée à un ou plusieurs en-têtes possédant un attributid, la balise vérifie-t-elle ces conditions ?
- La balise possède un attribut
headers.- L’attribut
headerspossède la liste des valeurs d’attributiddes en-têtes associés.
Particular cases (criterion 5.7)
Dans le cas de tableaux de données ayant des en-têtes sur une seule ligne ou une seule colonne, les en-têtes peuvent être structurés à l’aide de balise
<th>sans attributscope.
Technical notes (criterion 5.7)
Si l’attribut
headersest implémenté sur une cellule déjà reliée à un en-tête (de ligne ou de colonne) avec l’attributscope(avec la valeurcolourow), c’est l’en-tête ou les en-têtes référencés par l’attributheadersqui seront restitués aux technologies d’assistance. Les en-têtes reliés avec l’attributscopeseront ignorés.
Level
A
Technical description
Scope
Page
Decision level
Semi-Decidable
Algorithm
Selection
Set1
All <td> and <th> elements in the page:
td, thSet2
All <td> and <th> elements with a headers attribute:
td[headers], th[headers]Process
Test1
For each element in Set2, check that all ids referenced in the headers attribute exist in the page.
For each element returning false in Test1, raise a MessageA.
MessageA: Headers attribute references non-existent id
- code: HeadersIdNotFound
- status: Failed
- parameter: tag name
- present in source: yes
Test2
For each element in Set1, raise a MessageB for manual verification.
MessageB: Check table headers association
- code: CheckTableHeadersAssociation
- status: Pre-Qualified (NMI)
- parameter: tag name
- present in source: yes
Analysis
Not Applicable
Set1 is empty (no <td> or <th> elements in the page).
Failed
At least one element in Set2 has a headers attribute that references a non-existent id
(Test1 returns false for at least one element).
Pre-Qualified
All other cases:
- Set1 is not empty AND
- All elements in Set2 have
headersattributes referencing existing ids (or Set2 is empty)
Manual verification is required to check that the headers association is correct and complete.