ARIA属性は要素の役割に応じて指定されているとおりに使用する必要があります。

ルールID: aria-conditional-attr
ルールセット: axe-core 4.10
ユーザーへの影響:
ガイドライン: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549
 

Need accessibility training?

Deque University offers an extensive curriculum of self-guided online courses for every skillset and experience level.

Compliance Data & Impact

User Impact


Minor
Critical

Disabilities Affected

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

Standard(s)

  • WCAG 2.1 (A)
  • WCAG 2.0 (A)
  • WCAG 2.2 (A)
  • EN 301 549

WCAG 達成基準 [WCAG 2.1 (A)]

  • 4.1.2: Name, Role, Value

WCAG 達成基準 [WCAG 2.0 (A)]

  • 4.1.2: Name, Role, Value

WCAG 達成基準 [WCAG 2.2 (A)]

  • 4.1.2: Name, Role, Value

EN 301 549 Guidelines

  • 9.4.1.2: Name, Role, Value

修正方法

チェックボックスには2つのオプションがあります。いずれか aria-checked が削除され、代わりにブラウザのネイティブのチェックボックスの状態を使用して、要素がチェックされているか、チェックされていないか、または混合されているかを示します。HTMLチェックボックスは、 indeterminate プロパティを設定することで、混合位置に配置できます。

チェックボックスのもう1つのオプションは、ネイティブHTMLチェックボックスを別の要素に置き換えることです。これを行うときは、それに roleを提供し、キーボードでアクセスできることを確認する必要があります。

良い例

<label>
  <input type="checkbox" checked>
  I agree to make my website accessible
</label>

悪い例

<label>
  <input type="checkbox" aria-checked="true">
  I agree to make my website accessible
</label>

tr 要素および role="row"を含む要素の場合、属性が必須であれば、親の table または grid の役割を treegrid に変更する必要があることがあります。

良い例

<table role="treegrid">
  <tr aria-level="1" aria-expanded="false">
    <td role="gridcell">My Downloads</td>
  </tr>
</table>

悪い例

<table>
  <tr aria-level="1" aria-expanded="false">
    <td>My Downloads</td>
  </tr>
</table>

なぜ重要なのか

予期しない要素にARIA属性を使用すると、支援技術で予期しない動作が発生する可能性があります。これにより、これらのテクノロジーに依存している障害を持つ人々のユーザー エクスペリエンスが悪化する可能性があります。支援技術がコンテンツの意図された意味を適切に解釈して伝達できるようにするには、ARIA仕様に従うことが重要です。

ルールの説明

一部のARIA属性は、特定の条件下でのみ要素に許可されます。異なる属性にはそれぞれ異なる制限があります。

aria-checked: これはHTML input 要素では使用しないでください type="checkbox"と共に。このような要素は checked 状態がブラウザによって決定されます。このシナリオでは、ブラウザは aria-checked を無視する必要があります。ブラウザはこれを一貫して行わないため、ネイティブのチェックボックスの状態と aria-checked 値の違いにより、スクリーン リーダーとその他の支援技術の間に違いが生じます。

aria-posinsetaria-setsizearia-expandedaria-level 属性は、行で使用する場合、条件付きになります。これは、 tr 要素、または role="row"を含む要素のいずれかになります。これらの属性は、 rowtreegridの一部である場合にのみ使用できます。table または grid内で使用する場合、これらの属性は機能せず、スクリーン リーダーやその他の支援技術から予期しない動作が発生する可能性があります。

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

ARIA属性が、その役割が推奨しない、または禁止している方法で使用されていないことを確認します。つまり、このARIA属性の使用は条件付きです。

リソース

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

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

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

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

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