A

4.1.2 名前 (name)・役割 (role)・値 (value)

WCAG 2.2における達成基準 4.1.2「名前・役割・値」(Level A)は、支援技術がインターフェースコンポーネントを正しく理解・操作できるようにするための基本的かつ重要な基準です。

達成基準の原文

ユーザーインターフェースコンポーネントの名前および役割をプログラムによって決定可能にし、ユーザーが設定できる状態・プロパティ・値をプログラムによって設定可能で、また通知されること。

要件の解説(3つの要素)

要素説明
名前ボタンや入力欄などに与えられるラベルaria-label, <label>, テキスト)
役割要素の機能的な意味・種類(例:button, checkbox, tab, etc.)
状態や入力値、選択肢の現在値(例:チェック済み、選択中、入力された値など)

対象となる UI コンポーネントの例

  • ボタン(<button>)
  • チェックボックス(<input type=”checkbox”>)
  • フォーム入力欄(<input>, <textarea>)
  • ナビゲーションタブやアコーディオン(<details>, カスタムUI)
  • スライダー、カレンダーなど JavaScript製のカスタムUI

実装例と正しいマークアップ

例1:明示的なラベルがあるボタン

<button type="submit">送信</button>
  • 名前:送信
  • 役割:button
  • 値:N/A(状態なし)

例2:aria属性を使ったカスタムボタン

<div role="button" aria-label="メニューを開く" tabindex="0"></div>
  • 名前:メニューを開く
  • 役割:button(roleで定義)
  • 値:N/A

例3:選択状態を伝えるトグルボタン

<button aria-pressed="true">お気に入り</button>
  • 名前:お気に入り
  • 役割:button
  • 値:pressed = true(押下状態)

なぜ重要か(支援技術との連携)

ポイント説明
スクリーンリーダー利用者に「これはボタン」「現在はONです」などの情報を正しく読み上げるため
キーボード操作ARIAで定義された役割・値により、UIの制御や状態変化が分かりやすくなる
状態の更新通知値の変更が即時通知されないと、支援技術ユーザーが状況変化に気付けないリスクがある

実装チェックリスト

チェック項目対応方法の例
名前(label)が明示的にあるか<label>aria-label など
役割が正しくマークアップされているかネイティブ要素 or role 属性
値や状態が変化したらプログラム的に伝達されているかaria-checked, aria-pressedなど
カスタムUIでARIAを正しく使っているか(role・stateの定義)role="tab", aria-selected="true"

利点と効果

観点効果
アクセシビリティ視覚・聴覚・操作に制限のあるユーザーにもUIの構造と状態が伝わる
SEO効果意味ある構造は検索エンジンにも理解されやすくなる(特にフォーム構造など)
ユーザビリティ状態や意味が明確なUIは、一般ユーザーにも直感的で使いやすくなる

まとめ

項目内容
達成基準名4.1.2 名前・役割・値(Level A)
主な目的支援技術がUIの構造・意味・状態を正確に理解し操作できるようにするため
主な対策ARIA属性の適切な使用、ラベル・role・値の明示
対象全てのUI要素(特にJavaScript製のカスタムUI)
最終更新日:2025年12月01日
一覧に戻る
お問い合わせ

当社では、ウェブサイトの診断や改善方法のご提案を通じて、
すべてのユーザーにとって使いやすいウェブづくりをサポートしています。
ご相談・ご依頼は、こちらからお気軽にお問い合わせください。

お問い合わせフォームへ