このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。
ARIA: option ロール
option ロールはlistbox で選択可能な項目に使用します。
In this article
解説
option ロールはlistbox 内でユーザーが選択できるものを識別するために使用します。これらの選択肢は<select> 要素内の<option> 要素と似ていますが、画像を格納することができます。
選択可能な選択肢はすべて、aria-selected をその状態に一致させる必要があります(選択されているときはtrue、選択されていないときはfalse)。選択肢が選択可能でない場合、aria-selected は省略できます。無効になった選択肢は、aria-disabled="true" とaria-selected="false" を設定し、ユーザーに、無効ではあるが選択肢が存在することを説明します。
option ロールはlistbox の選択可能な選択肢を特定するためのものです。選択肢にはアクセシブル名を指定しなければなりません。一般的に、選択肢のアクセシブル名は要素の子孫コンテンツから決まります。
作成者は、選択肢の役割を持つ要素にaria-label またはaria-labelledby を指定することによって、アクセシビリティ名を明示的に提供することもできます。aria-label またはaria-labelledby を使用し、選択肢が可視のテキストラベルも表示する場合、作成者はWCAG Success Criterion 2.5.3 Label in Name を保証しなければなりません。
使用可能な場合は、代わりに<select> 要素かcheckbox またはradio 型の<input> 要素を使用することを強く推奨します。これらのネイティブ HTML 要素はキーボード操作機能を提供し、すべての子孫要素のフォーカスを自動的に管理します。
子孫はすべて presentation になる
一部の種類のユーザーインターフェイス部品は、プラットフォームのアクセシビリティ API で表したとき、テキストしか含むことができません。アクセシビリティ API にはoption に含まれる意味づけ要素を表す方法がありません。この制限に対応するために、ブラウザーは自動的にoption 要素の子孫要素すべてにpresentation ロールを適用します。
例えば、見出しを格納した次のoption 要素を考えてみましょう。
<div role="option"><h3>私の意見のタイトル</h3></div>option の子孫が存在するので、以下のコードと等価になります。
<div role="option"><h3 role="presentation">私の意見のタイトル</h3></div>支援技術ユーザーの視点から見ると、上記のコードスニペットはアクセシビリティツリー上では次のものと等価になるので、見出しは存在しないことになります。
<div role="option">私の意見のタイトル</div>関連する WAI-ARIA のロール、状態、プロパティ
関連するロール
listbox選択肢は
listboxに格納されているか、またはlistboxが自分自身で所有している必要があります。
状態とプロパティ
aria-selected選択肢の選択状態を記述するために使用します。必須です。
aria-checked選択肢を複数選択で使用する場合のチェック状態を記述するために使用します。
true、false、mixedに対応しています。オプションです。aria-posinset一度にいくつかの選択肢しか存在しない仮想スクロールのように、選択肢の集合が DOM と一致しない場合に、その位置を記述するために使用します。オプションです。
aria-setsize選択肢の総数を宣言するために
aria-posinsetと共に使用します。オプションです。aria-disabled選択肢が存在していますが、編集できません。オプションです。
aria-hiddenアクセシビリティツールから選択肢を非表示にするために使用します。冗長なコンテンツなど、支援技術の使い勝手を向上させる場合にのみ、非表示のコンテンツや表示可能なコンテンツを非表示にするために使用しましょう。オプションです。
aria-invalid選択肢の値がアプリケーションによって不正な値とみなされることを示すために使用します。オプションです。
aria-busy読み込んでいる間など、要素が変更されていることを示すために使用します。オプションです。
aria-labelledbyどの要素が選択肢をラベル付けするかを示すために用います。適切な場合には、選択肢のコンテンツを代わりに使用してください。オプションです。
aria-labelオプションのラベル付けに用います。ラベルが DOM に存在する場合、代わりに
aria-labelledbyを使用してください。オプションです。
(さらなる詳細と ARIA の状態とプロパティの完全なリストについては、ARIAoption (role) のドキュメントを参照してください。)
仕様書
| Specification |
|---|
| Accessible Rich Internet Applications (WAI-ARIA)> # option> |
| Unknown specification> |
関連情報
- HTML
<select>要素 - HTML
<label>要素 - HTML
<option>要素 - ARIA:
comboboxロール - ARIA:
listロール - ARIA:
listboxロール