В группе WebAIM (Web Accessibility in Mind) есть отличная статья о создании доступных таблиц данных . В целом, они рекомендуют избегать составных строк или столбцов, поскольку программы чтения с экрана не могут надежно интерпретировать разметку.
За исключением того, что я вообще избегал составных столбцов, мне очень повезло с использованием атрибутов id / headers в сочетании с атрибутом scope. Хотя разметка более многословна, это, кажется, упрощает JAWS, и в результате у нее меньше проблем с интерпретацией данных.
Вот как будет выглядеть ваш пример с id / headers:
<table>
<tr>
<th id="scores" colspan="3">Scores</th>
</tr>
<tr>
<th id="english" scope="col">English</th>
<th id="maths" scope="col">Maths</th>
<th id="science" scope="col">Science</th>
</tr>
<tr>
<td headers="scores english">12</td>
<td headers="scores maths">16</td>
<td headers="scores science">20</td>
</tr>
</table>