ARIAロールとプロパティ アクセシビリティ監査

WCAG 2.1基準4.1.2と4.1.3のためのARIAロール、状態、プロパティの監査ガイド。カスタムウィジェット、ライブリージョン、ランドマーク、よくあるARIAの間違いをカバー。

Component Audits

詳細な説明

ARIAロールとプロパティの監査

ARIA(Accessible Rich Internet Applications)属性は、カスタムUIコンポーネントと支援技術の間のギャップを埋めます。WCAG基準4.1.2(名前、役割、値)と4.1.3(ステータスメッセージ)は正しいARIA使用に直接依存しています。

ARIAを使用するタイミング

ARIAの第一のルールは:ネイティブHTMLで同じ結果を達成できる場合はARIAを使用しない。ネイティブの <button><input><select><nav> 要素にはビルトインのアクセシビリティがあります。

ARIAが必要な場合:

  • カスタムウィジェットの構築(タブ、アコーディオン、コンボボックス)
  • 動的コンテンツ更新の作成(ライブリージョン)
  • 追加コンテキストの提供(説明、ラベル)
  • HTML5セマンティクスを超えたページランドマークの定義

監査すべき主なARIA属性

ロール: カスタムウィジェットが正しいロールを使用していることを確認:

  • タブインターフェースに role="tablist"role="tab"role="tabpanel"
  • モーダルダイアログに role="dialog"
  • アプリケーションメニューに role="menu"role="menuitem"
  • 重要な時間的に敏感なメッセージに role="alert"

状態: 動的状態が更新されていることを確認:

  • 折りたたみセクションに aria-expanded="true/false"
  • タブとリスト項目に aria-selected="true/false"
  • カスタムチェックボックスに aria-checked="true/false"
  • 無効なコントロールに aria-disabled="true/false"

プロパティ: 関係が定義されていることを確認:

  • アクセシブル名に aria-label または aria-labelledby
  • 追加説明に aria-describedby
  • トリガー要素と制御領域を接続する aria-controls
  • 動的コンテンツ更新に aria-live="polite/assertive"

よくあるARIAの間違い

  1. ネイティブHTMLの代わりにARIAを使用<button> の代わりに <div role="button">
  2. 不正確なロール階層role="tablist" 内にない role="tab"
  3. 必要な子要素の欠落role="listitem" 子要素のない role="list"
  4. 古いARIA状態 — トグル時に更新されない aria-expanded
  5. 競合するロール — 暗黙のロールを持つ要素にARIAロールを適用

ユースケース

ARIA監査は、カスタムウィジェット、シングルページアーキテクチャ、動的コンテンツ更新を使用するウェブアプリケーションに不可欠です。React、Vue、AngularアプリケーションはカスタムコンポーネントにARIA属性が頻繁に必要です。フロントエンド開発者はコードレビュー中にARIAを確認すべきです。

試してみる — Accessibility Audit Checklist

Perceivable

0%(0/20 tested)
0 pass0 fail

Operable

0%(0/17 tested)
0 pass0 fail

Understandable

0%(0/10 tested)
0 pass0 fail

Robust

0%(0/3 tested)
0 pass0 fail
Level A:0/30 pass
Level AA:0/19 pass
Level AAA:0/1 pass

50 criteria shown · Click the status badge to cycle through Pass / Fail / N/A / Untested

Perceivable

Operable

Understandable

Robust

フルツールを開く