td-has-header

Las celdas de datos en tablas grandes deben tener un encabezado asociado

automaticWCAG 1.3.1 (A)confianza: highgravedad: seriousperceivable

Comprueba que cada <td> de una tabla grande y simple (sin colspan/rowspan) tiene un encabezado asociado, mediante un atributo headers, un <th> de columna implícito por encima, o un <th> de fila implícito a su izquierda.

Ámbito de aplicación. Elementos `<table>` con al menos 4 filas y al menos 4 columnas (una tabla "grande", donde la asociación implícita de encabezados de fila/columna resulta útil; las tablas pequeñas suelen ser evidentes por sí mismas), y SIN `colspan`/`rowspan` en ningún lugar de la tabla.

Resultado esperado. Cada `<td>` tiene un encabezado asociado, mediante uno de los siguientes:

  • un atributo `headers` no vacío (de confianza aquí; si resuelve a ids de `<th>` reales es competencia de `table-headers-attr-valid`, no de esta regla), O
  • un encabezado de columna implícito: algún `<th>` en la misma columna, en una fila anterior, O
  • un encabezado de fila implícito: algún `<th>` anterior en la misma fila.

Ejemplos

pass
<table>
<tr><th></th><th>Q1</th><th>Q2</th><th>Q3</th></tr>
<tr><th>North</th><td>1</td><td>2</td><td>3</td></tr>
<tr><th>South</th><td>4</td><td>5</td><td>6</td></tr>
<tr><th>East</th><td>7</td><td>8</td><td>9</td></tr>
</table>

Cada `<td>` tiene tanto un encabezado de fila implícito (`<th>` anterior en su fila) como un encabezado de columna implícito (`<th>` anterior en su columna). El tamaño mínimo 4x4 no es opcional. Esta regla no es aplicable a tablas más pequeñas.

fail
<table>
<tr><td>a</td><td>b</td><td>c</td><td>d</td></tr>
<tr><td>e</td><td>f</td><td>g</td><td>h</td></tr>
<tr><td>i</td><td>j</td><td>k</td><td>l</td></tr>
<tr><td>m</td><td>n</td><td>o</td><td>p</td></tr>
</table>

Una tabla 4x4 sin ningún `<th>`: ninguna celda tiene asociación de fila, columna, ni de atributo `headers`.

Ver código fuente