<table>
HTML要素がデフォルトで属性 scope="col" を<th>
要素内に含まれる要素の最初のグループに暗黙的に適用するかどうか疑問に思っていました<thead>
か?
以下の HTML の最初のセットをブラウザーでレンダリングすると、1<th>
月、2 月、3 月、4 月などのセルが列のヘッダーであることが自動的に検出されるようです。このように自動的にレンダリングされるため、scope="col" をマークアップに追加する必要がないのでしょうか?
<table>
<caption>2009 Employee Sales by Department</caption>
<thead>
<tr>
<th></th>
<th>Jan</th>
<th>Feb</th>
<th>March</th>
<th>April</th>
<th>May</th>
<th>June</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">Firefox</th>
<td>37.1</td>
<td>36.6</td>
<td>36.3</td>
<td>35.8</td>
<td>35.2</td>
<td>34.4</td>
</tr>
</tr>
</tbody>
</table>
この 2 番目のマークアップ セットには、1 月、2 月、3 月、4 月などのタグに追加された scope="col" が含まれています。必要ですか? 上記の例では、<th>
スコープ "col" なしでとにかくこれらを列としてレンダリングしているようです。
scope 属性は、通常の Web ブラウザーでは視覚効果がありませんが、スクリーン リーダーで使用できることは承知しています。では、セマンティック マークアップとアクセシビリティを向上させるために追加する必要があるのでしょうか。
<table>
<caption>2009 Employee Sales by Department</caption>
<thead>
<tr>
<th scope="col"></th>
<th scope="col">Jan</th>
<th scope="col">Feb</th>
<th scope="col">March</th>
<th scope="col">April</th>
<th scope="col">May</th>
<th scope="col">June</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">Firefox</th>
<td>37.1</td>
<td>36.6</td>
<td>36.3</td>
<td>35.8</td>
<td>35.2</td>
<td>34.4</td>
</tr>
</tr>
</tbody>
</table>