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

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

Learn Web Accessibility

Subscribe to our extensive curriculum of online self-paced courses

Compliance Data & Impact

User Impact


Minor
Critical

Disabilities Affected

  • 盲目
  • 盲ろう者
  • 運動・器用さ

Standard(s)

  • Deque Best Practice

    修正方法

    HTML5を使用している場合は、 scope 属性が th 要素でのみ使用されていることを確認してください。HTML 4を使用している場合は、 scope 属性が thtdでのみ使用されていることを確認してください。

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

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

    複雑ではないデータ テーブル内のヘッダー セルとデータ セルの関係を伝えるために必要なマークアップは、 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マイル、5 km、10 kmの上部ヘッダーはすべて th 要素でマークアップされており、Mary、Betsy、Matt、Toddの行ヘッダーも同様であることに注意してください。これらの各ヘッダー セルには、列ヘッダー セルか行ヘッダー セルかに応じて、 scope 属性値 col または row も与えられています。

    なぜ重要なのか

    scope 属性を正しく使用すると、スクリーン リーダー ユーザーによるテーブル ナビゲーションがはるかに簡単になります。誤って使用すると、 scope テーブルナビゲーションが非常に困難になり、効率が低下する可能性があります。

    スクリーン リーダーは、テーブルにヘッダーがあり、このヘッダーがスコープを指定するという前提で動作します。スクリーン リーダーの機能により、正確なヘッダーがあると、デバイスを使用する人にとってテーブルの表示がはるかに利用しやすくなり、効率も上がります。

    ルールの説明

    スクリーン リーダー ユーザーが効率的にテーブルを移動できるようにするには、HTML4またはHTML5の仕様に従って、 scope 属性をテーブルで正しく使用する必要があります。

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

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

    リソース

    その他のリソース

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

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

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

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

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

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