スコープ属性はテーブルで正しく使用する必要があります

ルールID: scope-attr-valid
ルールセット: axe-core 4.10
ユーザーへの影響: 普通
ガイドライン: Deque Best Practice
 

Start building more accessible experiences

Axe DevTools Pro helps dev teams find and fix up to 80% of accessibility issues while coding. No experience required. Get started with your free trial today.

Compliance Data & Impact

User Impact

普通
Minor
Critical

Disabilities Affected

  • 視覚障害
  • 視聴覚障害
  • 運動障害

Standard(s)

  • Deque Best Practice

    修正方法

    HTML5 を使用している場合、scope 属性が th 要素にのみ使用されていることを確認します。HTML 4 を使用している場合、scope 属性が th および td にのみ使用されていることを確認します。

    最後に、スコープの値が row または col のいずれかだけであり、それ以外ではないことを確認します。

    すべての scope 属性を持っていない th 要素に追加します。

    複雑でないデータテーブル内のヘッダーセルとデータセルの関係性を表すために必要なマークアップは scope 属性を使用することで実現可能です。scope 属性は、列の下にあるものはすべて上部のヘッダーに関連し、行ヘッダーの右側にあるものはすべてそのヘッダーに関連していることをブラウザーやスクリーン・リーダーに伝えます。

    scope 属性をテーブルに追加するとこのようなマークアップになります:

    良い例

    <table>
    <caption><strong>Greensprings Running Club Personal Bests</strong></caption>
      <tr>
        <th scope="col">Name</th>
        <th scope="col">1 mile</th>
        <th scope="col">5 km</th>
        <th scope="col">10 km</th>
      </tr>
        
      <tr>
        <th scope="row">Mary</th>
        <td>8:32</td>
        <td>28:04</td>
        <td>1:01:16</td>
      </tr>
        
      <tr>
        <th scope="row">Betsy</th>
        <td>7:43</td>
        <td>26:47</td>
        <td>55:38</td>
      </tr>
        
      <tr>
        <th scope="row">Matt</th>
        <td>7:55</td>
        <td>27:29</td>
        <td>57:04</td>
      </tr>
        
      <tr>
        <th scope="row">Todd</th>
        <td>7:01</td>
        <td>24:21</td>
        <td>50:35</td>
      </tr>
    </table>

    Name、1 mile、5 km そして 10 km に対する一番上のヘッダーおよび Mary、Betsy、Matt そして Todd に対する行ヘッダーはすべて th 要素でマークアップされていることに注意してください。また、これらの各ヘッダーセルには、列あるいは行ヘッダーセルに応じて col または row という値の scope 属性が指定されています。

    なぜ重要なのか

    scope 属性が正しく使用されていると、スクリーン・リーダーのユーザーはより簡単にテーブルを移動できます。誤って使用されている場合、scope はテーブルの移動を難しく、非効率的にします。

    スクリーン・リーダーはテーブルにヘッダーがあり、そのヘッダーがスコープを指定するという前提で動作します。スクリーン・リーダーの機能により、正確なヘッダーを使用することで、このデバイスを使用する人がよりアクセシブルかつ効率的にテーブルを確認できるようになります。

    ルールの説明

    テーブルの scope 属性は HTML4 あるいは HTML5 の仕様に沿って使用し、スクリーン・リーダーのユーザーが効率的にテーブル内を移動できるようにしなければなりません。

    仕組みについて (簡単に言うと)

    scope 属性がテーブル上で正しく使用されていることを確認します。

    リソース

    その他のリソース

    その他リソースもあわせてご参照ください。

    axe 4.10 ルールの一覧 を参照する

    この情報は役に立ちましたか?

    すでにフィードバックをいただきました、ありがとうございます。.

    あなたの回答は次のとおりです。

    この情報は役に立ちましたか?
    フィードバックが提出された日付/時刻: