6. 利用可能な状態(states)とプロパティ(properties)
このセクションは、規範的である。
6.1. 状態(states)とプロパティ(properties)の分類
「状態(states)」と「プロパティ(properties)」は類似した特性を表す用語として用いられます。どちらも1つのオブジェクトに対する特徴的な情報をもたらすもので、かつ、役割(roles)の定義のある部分を形成する役目をもっています。この文書では、状態もプロパティも、ともにそのマークアップを"aria-"を接頭語にもつ記述で行う属性(コンテンツ属性)として扱います。しかし、状態とプロパティの微妙な意味の違いを明示するために、この2つの用語を維持して使い分けることにします。一つの大きな違いは、例えば、aria-labelledby のような「プロパティの値」は、そのアプリケーションが動作している間にほとんど変化することはありませんが、例えば、aria-checkedのような「状態の値」は、ユーザーの操作によって頻繁に変化します。ただし、異なる値を取る頻度が両者を区別する規範になるわけではありません。実際、aria-activedescendant, aria-valuenow, aria-valuetext など少数の「プロパティ」では、しばしば値を変えることが考えられます。状態とプロパティを区別することは、多くの Webページの作成者にとってはそれほど重要なことではないので、この仕様書では可能な限り「状態」と「プロパティ」の両者を単に「属性」と呼ぶことにします。より詳しくは、「状態」と「プロパティ」の定義を参照してください。
6.2. 「状態」と「プロパティ」の特性
「状態」と「プロパティ」は次の各項目に記された特性をもちます。
6.2.2. どの役割(roles)で使用するか
この ARIA「状態」と「プロパティ」が使用される役割(roles)に関する参考情報。この情報は「状態」と「プロパティ」の適切な使用法を理解するために提供されています。当該の「状態」と「プロパティ」をここにリストアップされているもの以外の役割(role属性の値)で用いた場合については、定義がありません。
6.2.4. 値(value)
「状態」と「プロパティ」の値の形式。値は次のうちのいずれかです。
- true/false
- "false"を既定値として、true か false のいずれかの値を表します。
- トライステート(3状態)
- true と false に加えて、中間の "mixed" という値のいずれかの値を表します。既定値は指定がない場合には、"false"です。
- true/false/undefined
- true と false に加えて、「状態」や「プロパティ」が不明であることを示す"undefined" という既定値のいずれかの値を表します。
- ID の参照
- 同一文書中の他の要素の「id属性の値」を参照します。
- ID の参照リスト
- 1個以上の ID参照からなるリスト。
- 整数
- 分数部分を含まない数値。
- 数値
- 任意の実数値。
- 文字列
- とくに制約をもたない値。
- トークン(token)
- 指定可能な値の特定の制限された集合内の1つ。
- トークンリスト
- 1個以上のトークンからなるリスト。
ある「状態」や「プロパティ」で "undefined" という値が指定可能である場合は、この値は「状態」や「プロパティ」が集合ではないことを明示していることになります。この "undefined" は、トークンで指定する値をもつ「状態」と「プロパティ」でも使用されますが、その場合、指定可能なトークンのうちの1つである文字列になります。また、"undefined" が "false" とは異なる意味をもっている場合には、true/false値をもつ「状態」と「プロパティ」のいくつかで "undefined" が用いられます。
これらは、「状態」や「プロパティ」に対する一般的な値の形式で、特殊な表現については定義を与えていません。 これらの値が(HTMLやxmlなどの)ホスト言語でどのように表現されかつ処理されるかについては、 「状態」と「プロパティ」の処理を参照してください。
6.3. 「状態」と「プロパティ」の値
多くの「状態」と「プロパティ」では、値として特殊なトークンの集合が指定可能です。指定可能な値とそれらの意味の説明は(各「状態」と「プロパティ」の)特性表の後に示してあります。既定値が定義されている場合には、その後に括弧付きの '既定値' を表示した上 <strong>~</strong> で強調表示してあります。ある値が既定値であると明示されている場合には、もし「状態」と「プロパティ」が空または指定されていないときには、この既定値に対して予め定められた動作にブラウザーは必ず従わなければなりません。また、いくつかの役割(roles)では、既定値をもたない「状態」と「プロパティ」が確定した値をもたない場合に、どのような動作をするかを定義しています。
6.4. グローバル状態とプロパティ
いくつかの「状態」と「プロパティ」は、役割(roles)の指定の有無にかかわらず、ホスト言語のすべての要素に適用可能です。すなわち、次のグローバル状態とプロパティは、すべての役割(roles)、および、すべてのマークアップされた要素で利用可能です。
aria-atomicaria-busy(状態)aria-controlsaria-describedbyaria-disabled(状態)aria-dropeffectaria-flowtoaria-grabbed(状態)aria-haspopuparia-hidden(状態)aria-invalid(状態)aria-labelaria-labelledbyaria-livearia-ownsaria-relevant
グローバル状態とプロパティは、(規格上は)roletype役割(基本役割であり全ての役割に継承する)に適用されます。読み易くするために、これらが規格上はある役割に適用されることや継承された状態とプロパティであることは明示してありません。その代わりに、継承についてはこのセクションへのリンクによって示しています。
6.5. WAI-ARIA の状態とプロパティの分類
状態とプロパティは以下のように分類されます。
6.5.1. ウィジェット属性
このセクションには、GUIシステム上やリッチインターネットアプリケーション内で見られる、汎用のユーザーインターフェース要素で、ユーザーの入力を受信してユーザーの操作を処理するものに特有の属性が含まれています。これらの属性は、ウィジェットとしての役割をサポートするために用いられます。
aria-autocompletearia-checked(状態)aria-disabled(状態)aria-expanded(状態)aria-haspopuparia-hidden(状態)aria-invalid(状態)aria-labelaria-levelaria-multilinearia-multiselectablearia-orientationaria-pressed(状態)aria-readonlyaria-requiredaria-selected(状態)aria-sortaria-valuemaxaria-valueminaria-valuenowaria-valuetext
ウィジェット属性は、支援技術(assistive technologies)によるアクセスに対して、ブラウザーによって、プラットフォームアクセシビリティーAPIの状態にマップされるかもしれませんし、また、DOMから直接アクセスされるかもしれません。ブラウザーは、DOM属性変更イベントまたはプラットフォームのアクセシビリティーAPIイベントのいずれかを通じて、状態を変更するときには支援技術に通知するための方法を提供しなければなりません。
6.5.2. ライブ領域属性
このセクションには、リッチインターネットアプリケーション内のライブ領域を対象とする属性が含まれています。これらの属性は、任意の要素に適用することが可能です。この属性の目的は、コンテンツの変更がその要素がフォーカスをもっていないで状態で発生することがあることを明示し、これらのコンテンツ更新の処理方法に関する情報を支援技術に提供することです。一部の役割では、aria-live属性に対して、その役割に固有の既定値を指定しています。ライブ領域の1例として、次々と更新される株価情報を列挙するティッカーセクションが挙げられます。
6.5.3. ドラッグアンドドロップ属性
このセクションには、ドラッグ可能な要素およびそのドロップ対象などのドラッグアンドドロップインターフェイス要素について、それに関する情報を表す属性を列挙します。ドロップ対象の情報は、作成者によって視覚的に描き示され、また、代替モダリティ (modality) を通じて支援技術に提供されます。
ドラッグアンドドロップ属性の使用方法についてのより詳しい情報は、 WAI-ARIA Drag-and-Drop Support in the WAI-ARIA Authoring Practices([ARIA-PRACTICES])を参照してください。
6.5.4. 関係属性
6.6. 状態およびプロパティの定義(すべてのaria-*属性)
以下は、リッチインターネットアプリケーションの作成者が使用すべきWAI-ARIA状態およびプロパティのアルファベット順のリストです。WAI-ARIAの各状態およびプロパティの詳細な定義は、この簡潔なリストの後に示してあります。
aria-activedescendant- 複合ウィジェットの現在アクティブな子孫を特定します。
aria-atomic- aria-relevant属性によって定義された変更通知に基づき、支援技術が変更された領域のすべてを提示するのか、一部のみを提示するのかを示します。関連するaria-relevantを参照してください。
aria-autocomplete- ユーザー入力を補完する候補を提示するかどうかを示します。
aria-busy(状態)- 要素、および、そのサブツリーが現在更新中かどうかを示します。
aria-checked(状態)- チェックボックス、ラジオボタン、および、その他のウィジェットが、現在"チェックされた"状態であること示します。関連するaria-pressed,および,aria-selectedを参照してください。
aria-controls- この要素によって、コンテンツまたは存在が制御されている要素を特定します。関連するaria-ownsを参照してください。
aria-describedby- そのオブジェクトを記述する要素を特定します。関連するaria-labelledbyを参照してください。
aria-disabled(状態)- 要素は知覚可能ですが無効であるため、編集可能でも、操作可能でもないことを示します。関連するaria-hiddenおよびaria-readonlyを参照してください。
aria-dropeffect- ドラッグされたオブジェクトがドロップ対象に投下された際に、どのような機能が実行可能かを示します。これは、そのアプリケーションで選択肢のポップアップメニューが利用可能かどうかを含めて、支援技術がユーザーに利用可能なドラッグオプションを伝えることを可能にします。一般にドロップ効果機能(drop effect functions)は、利用可能なドロップ効果機能がドラッグされているオブジェクトに依存するため、ドラッグ操作のためにあるオブジェクトがつかまれた時に初めて提供することができます。
aria-expanded(状態)- その要素、または、その要素が制御する別のグループ化要素が、現在、展開された状態か、折りたたまれた状態かを示します。
aria-flowto- ユーザーの裁量により、文書ソースの順の一般的な既定の読み上げ順序を支援技術が上書きする、コンテンツの読み上げの代替順序で次の要素となるものを特定します。
aria-grabbed(状態)- ドラッグアンドドロップ操作で、要素が "つかまれた(grabbed)" 状態であることを示します。
aria-haspopup- 要素がポップアップ形式のコンテキストメニュー、または、下位レベルのメニューをもつことを示します。
aria-hidden(状態)- その要素とその要素のすべての子孫が、作成者の指定によりどのユーザーにも可視、または、知覚可能ではないことを示します。関連するaria-disabledを参照してください。
aria-invalid(状態)- 入力された値が、アプリケーションが想定したフォーマットに準拠しないことを示します。
aria-label- この要素をラベル付けする文字列の値を定義します。関連するaria-labelledbyを参照してください。
aria-labelledby- この要素をラベル付けする要素を特定します。関連するaria-labelおよびaria-describedbyを参照してください。
aria-level- 階層構造内での要素のレベルを定義します。
aria-live- ある要素が更新されることを示し、ブラウザー、支援技術、ユーザーがライブ領域から指定できる更新形式を記述します。
aria-multiline- テキストボックスが複数行の入力を受け付けるか、または、単一行の入力のみしか受け付けないかを示します。
aria-multiselectable- 当該の選択可能な子孫のうちから、ユーザーが複数項目を選択可能であることを示します。
aria-orientation- 要素や向きが水平か垂直か、どちらであるかを示します。
aria-owns- DOM階層がその関係を表すために使用することができない場合に、DOM要素間の、視覚的、機能的、文脈上の親/子のうちのいずれかの関係を定義するために、要素を指定します。関連するaria-controlsを参照してください。
aria-posinset- リスト項目やツリー項目の当該の集合中における要素の番号や位置を定義します。セット内のすべての要素がDOM内に存在する場合には必要ありません。関連するaria-setsizeを参照してください。
aria-pressed(状態)- トグルボタンが現在 "押された(pressed)" 状態であること示します。関連するaria-checkedおよびaria-selectedを参照してください。
aria-readonly- 要素が編集可能ではないが、それ以外の点では動作していることを示します。関連するaria-disabledを参照してください。
aria-relevant- 支援技術がライブ領域内で受信するブラウザーの(追加、削除などの)変更通知を示します。関連するaria-atomicを参照してください。
aria-required- フォームが送信されるまでに、その要素でユーザーの入力が必須であることを示す。
aria-selected(状態)- さまざまなウィジェットで、現在 "選択された(selected)" 状態であることを示します。関連するaria-checkedおよびaria-pressedを参照してください。
aria-setsize- リスト項目やツリー項目の当該の集合中における要素の項目数を定義します。セット内のすべての要素がDOM内に存在する場合には必要ありません。関連するaria-posinsetを参照してください。
aria-sort- テーブルまたはグリッド内の項目が、昇順または降順にソートされるかどうかを示します。
aria-valuemax- 範囲ウィジェットに対する最大許容値を定義します。
aria-valuemin- 範囲ウィジェットに対する最小許容値を定義します。
aria-valuenow- 範囲ウィジェットに対する現在値を定義します。関連するaria-valuetextを参照してください。
aria-valuetext- 範囲ウィジェットのaria-valuenowの値(現在の値)について人間が読める代替テキストを定義します。
aria-activedescendant (プロパティ)
compositeウィジェットの現在アクティブな子孫を特定します。
これは、複合ウィジェットが現在のアクティブな子を管理することで、すべての子をフォーカス可能な状態にさせてしまうというオーバーヘッドを減らす任を担う場合に、使用されます。例として、マルチレベルリスト、ツリー、グリッドがあります。一部の実装においては、アクティブな子孫がフォーカスをもっていることを支援技術に伝えるために、ブラウザーはaria-activedescendantを使用できます。作成者は、複合ウィジェットのフォーカスをもつ子孫上、たとえば、コンボボックスのテキストボックス子孫上で、aria-activedescendant属性を使用してもよいのです。
作成者は、aria-activedescendant属性によって対象とされた要素が、DOM内のコンテナの子孫か、または、aria-owns属性によって示された論理子孫か、いずれかであることを保証する必要があります。ブラウザーは、アクティブな子孫がコンテナの子孫であることの検証をすることは要求されません。作成者は、現在アクティブな子孫がフォーカスをもった際に可視であり視野内にある(またはスクロールすると視野に入る)ことを保証する必要があります。
| 特性 | 値 |
|---|---|
| 関連概念: | SVG [SVG]およびDOM [DOM]アクティブ |
| どの役割で使用するか: | |
| どの役割へ継承するか: | |
| 値: | ID参照 |
aria-atomic (プロパティ)
aria-relevant属性によって定義された変更通知に基づき、支援技術が変更された領域のすべてを提示するのか、一部のみを提示するのかを示します。関連するaria-relevantを参照してください。
アクセシビリティーAPIとドキュメントオブジェクトモデル[DOM]はどちらも、文書の変更された領域を支援技術が決定するのを可能にするイベントをもたらします。
ライブ領域のコンテンツが変化する場合、ブラウザーは、変更された要素を調べて、その先祖を横断してaria-atomicの指定をもつ最初の要素を見つけ、以下の各場合に対して適切な動作を適用する必要があります。
- 先祖のいずれもが明示的に
aria-atomicを指定していない場合、aria-atomicの既定値はfalseであり、支援技術はユーザーに変更されたノードのみを表示します。 aria-atomicが明示的にfalseに指定される場合、支援技術は、先祖連鎖の上位検索を停止し、ユーザーに変更されたノードのみを表示します。aria-atomicが明示的にtrueに指定される場合、支援技術は、要素の完全なコンテンツを表示します。
aria-atomicがtrueである場合、支援技術は、複数の変更を結合し、一度に全体の変更領域を表示することを選択することもできます。
| 特性 | 値 |
|---|---|
| どの役割で使用するか: | 基本マークアップのすべての要素 |
| 値: | true/false |
| 値 | 説明 |
|---|---|
| true: | 支援技術は、完全な領域を全体として表示する。 |
| false (既定値): | 領域内の変更は、支援技術によって独自に処理することができる。 |
aria-autocomplete (プロパティ)
ユーザー入力を補完する候補を提示するかどうかを示します。
inlineまたはbothのいずれかに指定したaria-autocomplete属性をもつtextboxに対して、作成者は、いずれかの自動補完テキストが選択状態になっていて、その結果ユーザーはテキストボックス上でそれに上書き入力することができることを保証する必要がある。
| 特性 | 値 |
|---|---|
| 関連概念: | selectにおけるXForms選択属性 |
| どの役割で使用するか: | |
| 値: | トークン |
| 値 | 説明 |
|---|---|
| inline: | システムは、キャレットの後にフィールドを完成させる方法の一提案としてのテキストを提供します。 |
| list: | ユーザーがその中から選択できる選択肢のリストが表示されます。 |
| both: | 選択肢のリストが表示され、また現在選択される提案もインラインで表示されます。 |
| none (既定値): | 入力補完提案は提供されません。 |
aria-busy (状態)
要素、および、そのサブツリーが現在更新中かどうかを示します。
既定値は、aria-busyがfalseであることです。同じ要素の複数部分を読込むまたは変更する必要があることを知っている場合には、作成者は最初の部分がロードされたときに、aria-busyをtrueに指定するようにでき、その後、最後の部分がロードされたときに、aria-busyをfalseに指定するようにできます。スクリプトの実行または読込みが原因でウィジェットが必須の所有要素を欠いている場合には、作成者は、trueに等しい値をもつaria-busy属性をもつ包含要素をマークアップしなければならない。たとえば、作成者は、ページが完全に初期化されて完成するまでは、その文書要素をbusyにマークアップすることが可能です。作成者は、もし、要素の更新にエラーが発生したときには、aria-invalid属性にtrueを指定するようにするのもよいのです。
| 特性 | 値 |
|---|---|
| どの役割で使用するか: | 基本マークアップのすべての要素 |
| 値: | true/false |
| 値 | 説明 |
|---|---|
| true: | ライブ領域は依然として更新されています。 |
| false (既定値): | そのライブ領域に対して予期される更新はそれ以上ありません。 |
aria-checked (状態)
チェックボックス、ラジオボタン、および、その他のウィジェットが、現在"チェックされた"状態であること示します。関連するaria-pressed,および,aria-selectedを参照してください。
aria-checked属性は、その要素が、チェック(true)、未チェック(false)であることを示すか、あるいは、チェックと未チェックの混合値(mixed)をもつ他の要素のグループを表すかを示します。ほとんどの入力ではtrueとfalseの値のみが指定可能ですが、mixed値はcheckboxやmenuitemcheckboxなどの特定の3状態入力で指定可能です。
mixed値は、radioやmenuitemradio、さらには、分類でこれらを継承する任意の要素では、指定できず、これらの役割に対しては、ブラウザーは、mixed値をfalseと同等のものとして扱わなければなりません。
3状態入力のmixed値を使用する例は、WAI-ARIA Authoring Practices [ARIA-PRACTICES]で扱われています。
| 特性 | 値 |
|---|---|
| どの役割で使用するか: | option |
| どの役割へ継承するか: | |
| 値: | tristate |
| 値 | 説明 |
|---|---|
| true: | 要素はチェックされています。 |
| false: | 要素はチェック可能ですが、現在チェックされていません。 |
| mixed: | 3状態checkboxまたはmenuitemcheckboxに対する混合モード値であることを示します。 |
| undefined (既定値): | 要素はチェック可能ではありません。 |
aria-controls
(プロパティ)
この要素によって、コンテンツまたは存在が制御されている要素を特定します。関連するaria-ownsを参照してください。
たとえば:
- コンテンツ・ツリービューの表は、隣接する文書ペインのコンテンツを制御することができるでしょう。
- 一連のチェックボックスの組は、表やグラフに商品価格がライブ追跡されるものを制御することができるでしょう。
- タブ・コントロールは、それに関連付けられたタブパネルの表示を制御します。
| 特性 | 値 |
|---|---|
| どの役割で使用するか: | 基本マークアップのすべての要素 |
| 値: | ID参照リスト |
aria-describedby (プロパティ)
そのオブジェクトを記述する要素を特定します。関連するaria-labelledbyを参照してください。
aria-labelledby属性はaria-describedbyと、ともに、説明がより詳細な情報を提供することを目的とする場所において、代替テキストを計算するための他の要素を参照する点、ラベルは簡潔にすべきである点で類似しています。
aria-describedbyで参照される単独または複数の要素は、記述の全体を構成します。必要に応じて、複数の要素にはID参照を含めたり、あるいは、複数の要素の組(たとえば、複数の段落)をIDによって参照された1つの要素で囲みます。
| 特性 | 値 |
|---|---|
| 関連概念: | 関連概念:
HTMLのlabel要素およびHTMLのテーブルセルの見出し要素は、事実上のdescribedby属性値です。 |
| どの役割で使用するか: | 基本マークアップのすべての要素 |
| 値: | ID参照リスト |
aria-disabled
(状態)
要素は知覚可能ですが無効であるため、編集可能でも、操作可能でもないことを示します。関連するaria-hiddenおよびaria-readonlyを参照してください。
例えば、ラジオグループ内の無関係なオプションは、無効化することができます。無効化された要素は、Tabキー押下ではフォーカスを取得しないでしょう。一部の無効な要素に対しては、アプリケーションはその子孫へは移動ができないようにすることを選択するでしょう。aria-disabled属性を指定することに加えて、作成者は、項目が無効にされていることを示すために(グレー表示など)外観を変更すべきです。
無効にされているという状態は、現在の要素、および、すべてのフォーカス可能な子孫要素でaria-disabled属性が適用できるものに適用されます。
| 特性 | 値 |
|---|---|
| どの役割で使用するか: | 基本マークアップのすべての要素 |
| 値: | true/false |
| 値 | 説明 |
|---|---|
| true: | その要素およびすべてのフォーカス可能な子孫要素は無効であり、それらの値はユーザーによって変更することができません。 |
| false (既定値): | 要素は有効です。 |
aria-dropeffect (プロパティ)
ドラッグされたオブジェクトがドロップ対象に投下された際に、どのような機能が実行可能かを示します。これは、そのアプリケーションで選択肢のポップアップメニューが利用可能かどうかを含めて、支援技術がユーザーが利用可能なドラッグオプションを伝えることを可能にします。一般にドロップ効果機能(drop effect functions)は、利用可能なドロップ効果機能がドラッグされているオブジェクトに依存するため、ドラッグ操作のためにあるオブジェクトがつかまれた時に初めて提供することができます。
2つ以上のドロップ効果が、与えられた要素に対して利用できてもよいのです。したがって、この属性の値は、可能なドロップ効果を表すスペースで区切ったトークンの集合、または、可能な操作が存在しない場合はnoneです。作成者は、aria-dropeffect属性を指定することに加えて、潜在的なドロップ対象を視覚表示で示すべきです。
| 特性 | 値 |
|---|---|
| どの役割で使用するか: | 基本マークアップのすべての要素 |
| 値: | トークンリスト |
| 値 | 説明 |
|---|---|
| copy: | ソースオブジェクトの複製がターゲットにドロップされます。 |
| move: | ソースオブジェクトは、現在の場所から削除され、ターゲットにドロップされます。 |
| link: | ドラッグされたオブジェクトへの参照またはショートカットが、ターゲットオブジェクトに作成されます。 |
| execute: | 入力としてドラッグソースを使用して、ドロップ対象で可能な機能が実行されます。 |
| popup: | ユーザーがドラッグ操作(コピー、移動、リンク、実行)、および、キャンセルなどの他のドラッグ機能のうちの1つを選択することができるポップアップメニューまたはダイアログが示されます。 |
| none (既定値): | 操作は実行されません。このオブジェクト上にドロップする試みがなされた場合には、実際上ドラッグ操作を中止します。他のトークン値と組み合わせた場合には無視されます。たとえば、'none copy'は'copy'の値と同等です。 |
aria-expanded
(状態)
その要素、または、その要素が制御する別のグループ化要素が、現在、展開された状態か、折りたたまれた状態かを示します。
たとえば、これはツリーの一部が展開された状態か、折りたたまれた状態かを示します。別の例では、これをページの複数のセクションに適用して、コンテンツ密度を管理するために柔軟性をもつ展開可能な、および、折り畳み可能な領域をマークすることに利用できます。セクションを折りたたむことによってユーザーインターフェイスを簡素化することは、認知障害や発達障害をもつ人も含め、すべての人に対するユーザービリティーを向上させます。
aria-expanded属性をもつ要素がその要素によって'所有されない'別のグループ化コンテナの展開を制御する場合には、作成者はaria-controls属性を使用することによってそのコンテナを参照する必要があります。
| 特性 | 値 |
|---|---|
| 関連概念: | 音声ブラウジングで先細りするプロンプト。SMILに切り替える。 [SMIL] |
| どの役割で使用するか: | |
| どの役割へ継承するか: |
|
| 値: | true/false/undefined |
| 値 | 説明 |
|---|---|
| true: | 要素、または、要素が制御する別のグループ化要素が展開されます。 |
| false: | 要素、または、要素が制御する別のグループ化要素が折りたたまれます。 |
| undefined (既定値): | 要素、または、要素が制御する別のグループ化要素は、拡張可能でも折りたたみ可能でもありません。すべての子要素が示されいるか、子要素が存在しない状態です。 |
aria-flowto (プロパティ)
ユーザーの裁量により、文書ソースの順の一般的な既定の読み上げ順序を支援技術が上書きする、コンテンツの読み上げの代替順序で次の要素となるものを特定します。
aria-flowtoが単一のID参照をもつ場合、この属性は支援技術が、ユーザーの要求に応じて、通常の文書読み込み順序を見合わせ、指定対象のオブジェクトまで進むことを可能にします。しかし、aria-flowtoが複数のID参照を伴って指定された場合には、支援技術はパスの選択肢として参照された要素を提示するべきです。
1つまたはそれ以上のID参照の場合、ブラウザーまたは支援技術は、指定対象要素のいずれにもそこへ移動する選択オプションをユーザーに与えるべきです。パス名はaria-flowto属性で指定した対象要素の名前によって決定することができます。アクセシビリティーAPIは、名前付けされたパスの関係を提供することができます。
| 特性 | 値 |
|---|---|
| どの役割で使用するか: | 基本マークアップのすべての要素 |
| 値: | ID参照リスト |
aria-grabbed (状態)
ドラッグアンドドロップ操作で、要素が "つかまれた(grabbed)" 状態であることを示します。
要素のこの属性がtrueである場合、要素がドラッグのために選択された状態であり、falseである場合、この要素をドラッグアンドドロップ操作のためにつかむことができる状態であるが、現在はつかまれてないことを示し、undefined(または値なし)の場合、この要素をつかむことができない状態であることを示します(既定値)。
aria-grabbedがtrueに指定されている場合、作成者は、すべての潜在的なドロップ対象のaria-dropeffect属性を更新するべきです。要素がつかめない(値がfalse、undefinedに指定される、または属性が削除される)場合、作成者は関連したドロップ対象のaria-dropeffect属性をnoneに戻すべきです。
| 特性 | 値 |
|---|---|
| どの役割で使用するか: | 基本マークアップのすべての要素 |
| 値: | true/false/undefined |
| 値 | 説明 |
|---|---|
| true: | 要素がドラッグのために"つかまれている"ことを示します。 |
| false: | 要素をドラッグすることが可能であることを示します。 |
| undefined (既定値): | 要素をドラッグすることはできないことを示します。 |
aria-haspopup
(プロパティ)
要素がポップアップ形式のコンテキストメニュー、または、下位レベルのメニューをもつことを示します。
これは、アクティブ化が条件付きコンテンツを描くことを意味します。通常のツールチップはこのコンテキストではポップアップ・メニューとは考えられないことに注意しましょう。
ポップアップは一般的に、主要ページコンテンツの上部に項目のグループとして視覚的に表示されます。
| 特性 | 値 |
|---|---|
| 関連概念: |
|
| どの役割で使用するか: | 基本マークアップのすべての要素 |
| 値: | true/false |
| 値 | 説明 |
|---|---|
| true: | 子孫として、または、aria-ownsによって指定されたものとして、そのオブジェクトがポップアップ・メニューをもつことを示します。 |
| false (既定値): | オブジェクトはポップアップ・メニューをもちません。 |
aria-invalid (状態)
入力された値が、アプリケーションが想定したフォーマットに準拠しないことを示します。
値が不正または範囲外であると計算される場合、アプリケーション作成者は、この属性をtrueに設定すべきである。ブラウザーは、ユーザーにエラーを通知すべきである。アプリケーション作成者に既知である場合、アプリケーション作成者は、修正のための提案を提供すべきである。関連したフォーム要素がtrueに設定されたaria-invalid属性をもつ場合、作成者はフォームの送信を妨げてもよい。
aria-requiredがtrueであるフィールドを含むデータをユーザーが提出しようと試みる場合、作成者は、エラーが存在することを知らせるためにaria-invalid属性を使用してもよい。しかし、ユーザーがフォームを送信しようと試みない場合、作成者は、ユーザーがまだデータを入力していないために要求されるウィジェット上のaria-invalid属性を設定すべきではない。
将来の拡張のために、aria-invalid属性は列挙型とする。あたかも値trueが提供されていたかのように、許可された値のリストに認識されないすべての値は、ブラウザーによって処理されなければならない。属性が存在しない、またはその値がfalseである、または属性値が空の文字列である場合、falseのデフォルト値が適用される。
| 特性 | 値 |
|---|---|
| 関連概念: | XForms
[XForms]
'invalid' event
http://www.w3.org/TR/2006/REC-xforms-20060314/slice4.html#evt-revalidate.
注:フォームフィールドが必須であるが空である場合、この状態はtrueとなる。しかし、XFormsのvalidプロパティはfalseに設定される。 |
| どの役割で使用するか: | 基本マークアップのすべての要素 |
| 値: | トークン |
| 値 | 説明 |
|---|---|
| grammar: | 文法的なエラーが検出された。 |
| false (既定値): | 値において検出されたエラーは存在しない。 |
| spelling: | スペルエラーが検出された。 |
| true: | ユーザーによって入力された値は検証に失敗した。 |
aria-label (プロパティ)
この要素をラベル付けする文字列の値を定義します。関連するaria-labelledbyを参照してください。
aria-labelの目的はaria-labelledbyと同じである。これは、ユーザーにオブジェクトの認識可能な名前を提供する。ラベルをマッピングする最も一般的なアクセシビリティーAPIは、アクセシブルな名前プロパティである。
ラベルテキストが画面上で可視である場合、作成者は、aria-labelledbyを使用すべきであり、aria-labelを使用すべきではない。要素の名前が要素のコンテンツからプログラム的に決定することができない事例があってもよく、可視ラベルの提供が所望のユーザー体験でない場合がある。これはブラウザーのツールチップを提示するかもしれないにもかかわらず、ほとんどのホスト言語は、要素に名前を付けるために使用できる属性を提供する(たとえば、HTMLにおけるtitle属性[HTML])。可視ラベルまたは可視ツールチップが望ましくないケースで、作成者は、aria-labelを使用して要素のアクセシブルな名前を設定してもよい。代替テキスト演算により必要に応じて、アクセシブルな名前プロパティを計算する際に、ブラウザーはaria-labelよりaria-labelledbyを優先する。
| 特性 | 値 |
|---|---|
| 関連概念: | 関連概念はHTMLにおけるtitleである[HTML]。 |
| どの役割で使用するか: | 基本マークアップのすべての要素 |
| 値: | 文字列 |
aria-labelledby (プロパティ)
この要素をラベル付けする要素を特定します。関連するaria-labelおよびaria-describedbyを参照してください。
aria-labelledbyの目的はaria-labelと同じである。これは、ユーザーにオブジェクトの認識可能な名前を提供する。ラベルをマッピングする最も一般的なアクセシビリティーAPIは、アクセシブルな名前プロパティである。
ラベルテキストが画面上で可視である場合、作成者はaria-labelledbyを使用すべきであり、aria-labelを使用すべきではない。インターフェイスが画面上で可視ラベルをもつことが不可能である場合のみaria-labelを使用する。代替テキスト演算により必要に応じて、アクセシブルな名前プロパティを計算する際に、ブラウザーはaria-labelよりaria-labelledbyを優先する。
aria-labelledby属性は、代替テキストを計算するために、その両方の参照要素でaria-describedbyに似ているが、説明がより詳細な情報を提供することを目的とする場所で、ラベルは、簡潔にすべきである。
注:アメリカ英語でこのプロパティの期待される綴りは"labeledby"である。しかし、このプロパティがマップされるアクセシビリティーAPI機能には、"labelledby"の綴りを確立している。このプロパティは、慣習に一致し、開発者に対する難しさを最小化するためにそのように綴られる。
| 特性 | 値 |
|---|---|
| 関連概念: | 関連概念は、XForms [XForms]およびHTML [HTML]のlabelである。 |
| どの役割で使用するか: | 基本マークアップのすべての要素 |
| 値: | ID参照リスト |
aria-level (プロパティ)
階層構造内での要素のレベルを定義します。
これは、ツリー項目、文書内の見出し、ネストされたグリッド、ネストされたtablists、およびコンテナ内に出現するまたは所有権の階層に参加することができる他の構造アイテムに、ツリーの内側で適用することができる。aria-levelの値は1以上の整数である。
レベルは深さとともに増加する。DOMの祖先が正確にレベルを表さない場合、作成者は、明示的にaria-level属性を定義すべきである。
この属性は、たとえば、役割groupをもつ要素よりもむしろ役割treeitemをもつ要素で、セットの方向内のリーフノードとして動作する要素に適用される。これは、セット内の複数の要素がこの属性に対して同じ値をもってもよいことを意味する。属性はコンテナに単一の値を提供するためにより少ない反復的になるが、リーフノードにこれを制限することは、属性を使用するための支援技術に対する単一の方法があることを保証する。
DOMの祖先が正確にレベルを表す場合、ブラウザーは、文書構造から項目のレベルを計算することができる。文書構造またはaria-ownsから算出することができない場合に、この属性はレベルの明示的指示を提供するために使用できる。レベルの自動計算に対するブラウザーのサポートは異なるかもしれない。作成者は、この属性が必要かどうかを判断するためにブラウザーおよび支援技術を試験すべきである。作成者がレベルを計算するためにブラウザーに対して意図する場合、作成者は、この属性を省略すべきである。
注:treegridについて、aria-levelは、役割gridcellをもつ要素でなく、役割rowをもつ要素でサポートされる。一見すると、これはtreeitem要素上のaria-levelのアプリケーションと矛盾するように見えるかもしれないが、gridcellが各rowの水平方向内でリーフノードであるのに対して、gridの垂直方向内のリーフノードとしてそのrowの動作で一貫している。レベルは行内のセルのセットでサポートされないので、aria-level属性は役割rowをもつ要素に適用される。
| 特性 | 値 |
|---|---|
| どの役割で使用するか: | |
| どの役割へ継承するか: | |
| 値: | 整数 |
aria-live (プロパティ)
ある要素が更新されることを示し、ブラウザー、支援技術、ユーザーがライブ領域から指定できる更新形式を記述します。
この属性の値は、重要度で表現される。領域がpoliteとして指定される場合、支援技術はユーザーに更新に通知するが、一般に現在のタスクを中断せず、更新が低い優先度を取る。領域がassertiveとして指定される場合、支援技術はすぐにユーザーに通知し、かつ潜在的に前の更新の音声キューをクリアすることができる。Live Region Properties and How to Use Themを参照してください([ARIA-PRACTICES]、5.2.1)。
ポライトネスレベルは、本質的に更新のための順序付けメカニズムであり、ブラウザーまたは支援技術に強い提案として供給する。値は、ブラウザー、支援技術、またはユーザーによって上書きされるかもしれない。たとえば、支援技術は変更がキー入力やマウスのクリックに反応して発生したと判断できる場合、たとえaria-live属性の値が異なって明言する場合であっても、支援技術はすぐにその変更を提示することができる。
別のユーザーが異なるニーズをもつので、一般に定義されたベースラインからの一定のポライトネスレベルをもつライブ領域へユーザーの支援技術の応答を微調整するのはユーザー次第である。ユーザーがキューと中断に制御をふるうことができるように、支援技術は、増減する粒度のレベルを実装することを選択できる。
プロパティが更新を送信する必要があるオブジェクトに設定されない場合、ポライトネスレベルは、aria-live属性を設定する最も近い祖先の値である。
aria-live属性は、ライブ領域に変更の提示の順序に対する主要な決定である。aria-live属性が祖先チェーンに設定されない場合(たとえば、log変更はデフォルトでpoliteである)、実装はまた、役割でポライトネスのデフォルトのレベルを考慮する。assertiveである項目は、politeな項目の直後に表示される。ブラウザーまたは支援技術は、断定的な変化が発生する際にキューに入れられた変更をクリアするために選択してもよい。(たとえば、断定的な領域における変更は、すべての現在キューの変更を削除するかもしれない)
| 特性 | 値 |
|---|---|
| どの役割で使用するか: | 基本マークアップのすべての要素 |
| 値: | トークン |
| 値 | 説明 |
|---|---|
| off (既定値): | 支援技術がその領域に現在フォーカスを当てない限り、領域への更新は、ユーザーに提示されない。 |
| polite: | (バックグラウンドの変更)支援技術は、現在の文の話の終わりまたはユーザーが入力を一時停止する際のように、次の優雅な機会に更新を発表すべきである。 |
| assertive: | この情報は優先順位が最も高く、支援技術はすぐにユーザーに通知すべきである。中断はユーザーを混乱させるか、ユーザーの現在のタスクの未完了を引き起こすかもしれないため、中断が不可欠でない限り、作成者は断定的な値を使用すべきでない。 |
aria-multiline
(プロパティ)
テキストボックスが複数行の入力を受け付けるか、または、単一行の入力のみしか受け付けないかを示します。
注:ほとんどのブラウザーの実装において、ENTERキーまたはRETURNキーのデフォルトの動作は、HTMLで、単一行と複数行のテキストフィールドとの間で異なる。ユーザーが単一行の<input type="text">要素にフォーカスをもつ場合、キーストロークは通常、フォームを送信する。ユーザーが複数行の<textarea>要素にフォーカスをもつ場合、キーストロークは改行を挿入する。WAI-ARIA
textbox役割は、aria-multiline属性をもつボックスのこれらの種類を区別する。よって作成者は、フィールドを設計する際にこの区別を意識することを勧める。
| 特性 | 値 |
|---|---|
| どの役割で使用するか: | textbox |
| 値: | true/false |
| 値 | 説明 |
|---|---|
| true: | これは複数行のテキストボックスである。 |
| false (既定値): | これは単一行のテキストボックスである。 |
aria-multiselectable (プロパティ)
当該の選択可能な子孫のうちから、ユーザーが複数項目を選択可能であることを示します。
作成者は、選択した子孫がtrueに設定されるaria-selected属性をもち、選択可能な子孫がfalseに設定されるaria-selected属性をもつことを保証すべきである。作成者は選択可能でない子孫上のaria-selected属性を使用すべきでない。
注:リストおよび木は、ユーザーに一度に複数の項目の選択を可能にするかもしれない役割の例である。
| 特性 | 値 |
|---|---|
| どの役割で使用するか: | |
| どの役割へ継承するか: | |
| 値: | true/false |
| 値 | 説明 |
|---|---|
| true: | ウィジェット内の複数のアイテムを一度に選択することができる。 |
| false (既定値): | 1つのみの項目を選択することができる。 |
aria-orientation (既定値)
要素や向きが水平か垂直か、どちらであるかを示します。
| 特性 | 値 |
|---|---|
| どの役割で使用するか: | |
| 値: | トークン |
| 値 | 説明 |
|---|---|
| vertical: | 要素は、垂直に方向を合わせる。 |
| horizontal (既定値): | 要素は、水平に方向を合わせる。 |
aria-owns (プロパティ)
DOM階層がその関係を表すために使用することができない場合に、DOM要素間の、視覚的、機能的、文脈上の親/子のうちのいずれかの関係を定義するために、要素を指定します。関連するaria-controlsを参照してください。
aria-owns属性の値は、IDによって文書における1つ以上の要素を参照するIDREFSのスペース区切りのリストである。aria-ownsを追加する理由は、DOMから推測する他の方法では不可能である支援技術に親子コンテキストの関係を公開することである。
作成者は、DOM階層の代替としてaria-ownsを使用すべきでない。関係がDOMで表現される場合、aria-ownsを使用してはならない。作成者は、要素のIDがいつでも複数の他の要素のaria-owns属性で指定されないことを保証しなければならない。言い換えれば、要素は、1つの明示的な所有者のみをもつことができる。
| 特性 | 値 |
|---|---|
| どの役割で使用するか: | 基本マークアップのすべての要素 |
| 値: | ID参照リスト |
aria-posinset
(プロパティ)
リスト項目やツリー項目の当該の集合中における要素の番号や位置を定義します。セット内のすべての要素がDOM内に存在する場合には必要ありません。関連するaria-setsizeを参照してください。
セットにおけるすべての項目が文書構造に存在する場合、ブラウザーが自動的に各項目のセットサイズおよび位置を計算することができるため、この属性を設定する必要はない。しかし、セットの一部だけが与えられた瞬間に文書構造に存在する場合、このプロパティは、要素の位置の明確な表示を提供するために必要とされる。
次の例は、16のセットで5から8の項目を示す。
<h2 id="label_fruit"> Available Fruit </h2> <ul role="listbox" aria-labelledby="label_fruit"> <li role="option" aria-setsize="16" aria-posinset="5"> apples </li> <li role="option" aria-setsize="16" aria-posinset="6"> bananas </li> <li role="option" aria-setsize="16" aria-posinset="7"> cantaloupes </li> <li role="option" aria-setsize="16" aria-posinset="8"> dates </li> </ul>
作成者は、1以上かつセットのサイズ以下の整数をaria-posinsetに値を設定しなければならない。作成者は、aria-setsizeと同時にaria-posinsetを使用すべきである。
| 特性 | 値 |
|---|---|
| どの役割で使用するか: | |
| どの役割へ継承するか: | |
| 値: | 整数 |
aria-pressed (状態)
トグルボタンが現在 "押された(pressed)" 状態であること示します。関連するaria-checkedおよびaria-selectedを参照してください。
トグルボタンは、値を変更するために完全に押して離すサイクルを必要とする。一度値をtrueに変更して有効化し、別の時間に値をfalseに戻して値を変更する。mixedの値は、ボタンによって制御される複数の項目の値が同じ値をすべて共有しないことを意味する。混在状態のボタンの例は、WAI-ARIA
Authoring Practices [ARIA-PRACTICES]で説明される。属性が存在しない場合、ボタンはトグルボタンでない。
aria-pressed属性は、aria-checked属性に類似するが同一ではない。オペレーティングシステムは、ボタンのpressedおよびチェックボックスのcheckedをサポートする。
| 特性 | 値 |
|---|---|
| どの役割で使用するか: | button |
| 値: | tristate |
| 値 | 説明 |
|---|---|
| true: | 要素が押される。 |
| false: | 要素は押されていることをサポートするが、現在押されていない。 |
| mixed: | トライ状態トグルボタンに対する混合モード値を示す。 |
| undefined (既定値): | 要素が押されている状態をサポートしない。 |
aria-readonly
(プロパティ)
要素が編集可能ではないが、それ以外の点では動作していることを示します。関連するaria-disabledを参照してください。
これは、ユーザーは読むことができるが、ウィジェットの値を設定できないことを意味する。読み取り専用の要素は、ユーザーに関連し、アプリケーションの作成者は、要素または要素のフォーカス可能な子孫にナビゲーションを制限すべきでない。要素の値をコピーするなどの他のアクションはまたサポートされる。これは、アプリケーションが子孫へのユーザーナビゲーションを許可しないかもしれない、無効要素とは対照的である。
例は以下を含む:
- 定数を表すフォーム要素。
- スプレッドシートのグリッドにおける行または列見出し。
- ショッピングカートの合計のような計算結果。
| 特性 | 値 |
|---|---|
| 関連概念: | XForms [XForms] Readonly |
| どの役割で使用するか: | |
| どの役割へ継承するか: | |
| 値: | true/false |
| 値 | 説明 |
|---|---|
| true: | ユーザーは要素の値を変更することができない。 |
| false (既定値): | ユーザーは要素の値を設定することができる。 |
aria-relevant
(プロパティ)
支援技術がライブ領域内で受信するブラウザーの(追加、削除などの)変更通知を示します。関連するaria-atomicを参照してください。
属性は、次の値のスペースで区切りリストとして表現される:additions、removals、textまたは包括的な値all。
単にプレゼンテーション的なものとは対照的に、これは、重要なセマンティック的な変化を説明するために使用される。たとえば、ログの上部から除去されたノードは、単に他のエントリーに対して場所を作成する目的のために除去され、そのノードの除去は意味をもたない。しかし、バディリストの場合、バディ名の除去は、もはやオンラインでないことを示す、そしてこれは意味のあるイベントである。その場合aria-relevantはallに設定される。aria-relevant属性が提供されない場合、デフォルト値、追加のテキスト、テキストの修正表示およびノードの追加は関連するが、ノード削除は無関係である。
注:removalsまたはallのaria-relevant値は、控えめに使用される。チャットルームを退出するバディのような、コンテンツの除去が重要な変更を表す場合、支援技術は、コンテンツの除去を告知のみを必要とする。
注:指定された値の1つが'removals'または'all'である場合、テキストの除去は適切に考慮されるべきである。たとえば、デフォルトのaria-relevant値をもつライブ領域において'foo'から'bar'へのテキストの変更のために、テキスト追加(
'bar')は話されるが、テキスト除去('foo')話されない。
aria-relevantは、ライブ領域のオプションの属性である。これは支援技術に提案するが、支援技術はすべての関連する種類の変更を提示する必要はない。
アクセシビリティーAPIとDocument Object Model Level 2 Events [DOM]の両者は、支援技術に文書の変更された領域を決定することを可能にするためにイベントを提供する。
aria-relevantが定義されない場合、要素の値は定義される値をもつ最も近い祖先から継承される。値はトークンリストであるが、継承された値は追加式ではない。子孫要素に供給される値は、祖先要素から継承された値をすべて完全に上書きする。
テキストの変更がrelevantとして表記される場合、ブラウザーは、あたかもアクセシブルな名前がコンテンツから(nameFrom:
contents)決定されたかのように、ライブ領域の代替テキストの計算に影響を与える任意の子孫ノード変更を監視しなければならない。たとえば、含まれる画像のHTML
alt属性が変更された場合、テキストの変更はトリガーされる。しかし、たとえそのノードがライブ領域に含まれる要素によって参照された(aria-labelledby経由)としても、ライブ領域外のノードへのテキストの変更があった場合、変更はトリガーされない。
| 特性 | 値 |
|---|---|
| どの役割で使用するか: | 基本マークアップのすべての要素 |
| 値: | トークンリスト |
| 値 | 説明 |
|---|---|
| additions: | 要素ノードは、ライブの領域内のDOMに追加される。 |
| removals: | ライブ領域内のテキストまたは要素ノードは、DOMから削除される。 |
| text: | テキストは、ライブ領域の任意のDOMの子孫ノードに追加される。 |
| all: | すべての値の組み合わせに相当し、「追加除去テキスト」。 |
| additions text (既定値): | 値の組み合わせに相当する、「追加テキスト」。 |
aria-required
(プロパティ)
フォームが送信されるまでに、その要素でユーザーの入力が必須であることを示す。
ユーザーがアドレスフィールドに記入する必要がある場合、作成者は、フィールドのaria-required属性をtrueに設定する必要がある。
注:要素が要求されるという事実は多くの場合、視覚的に提示される(たとえばウィジェットの後に記号やシンボルなど)。aria-required属性の使用は、作成者に要素が要求されることを支援技術に明示的に伝えることを可能にする。
厳密に等価なネイティヴ属性が利用可能である場合を除き、ホスト言語は、作成者にユーザーによって入力または選択を必要とするホスト言語フォーム要素上のaria-required属性の使用を可能にすべきである。
| 特性 | 値 |
|---|---|
| 関連概念: | |
| どの役割で使用するか: | |
| どの役割へ継承するか: | |
| 値: | true/false |
| 値 | 説明 |
|---|---|
| true: | ユーザーは、フォームが送信される前に要素上の入力を提供する必要がある。 |
| false (既定値): | ユーザー入力は、フォームの送信を強制されない。 |
aria-selected
(状態)
さまざまなウィジェットで、現在 "選択された(selected)" 状態であることを示します。関連するaria-checkedおよびaria-pressedを参照してください。
この属性は、単一選択および複数選択のウィジェットで使用される:
- 現在フォーカスされる項目が選択されない単一選択コンテナ。選択が正常にフォーカスを追従し、ブラウザーによって管理される。
- 複数選択コンテナ。作成者は、
aria-multiselectable属性がtrueであるコンテナの任意の選択可能な子孫がaria-selected属性のtrueまたはfalseのいずれかの値を指定することを保証すべきである。
任意のaria-selectedの明示的な割り当ては、フォーカスに基づく暗黙の選択よりも優先される。ウィジェットにおいてどのDOM要素も明示的にselectedとしてマークされない場合、支援技術は、管理フォーカスウィジェットのキーボードフォーカスに従う暗黙の選択を伝えてもよい。ウィジェットにおいて任意のDOM要素が明示的にselectedとしてマークされる場合、ブラウザーは、ウィジェットに対して暗黙の選択を伝えてはならない。
| 特性 | 値 |
|---|---|
| どの役割で使用するか: | |
| どの役割へ継承するか: | |
| 値: | true/false/undefined |
| 値 | 説明 |
|---|---|
| true: | 選択可能な要素が選択される。 |
| false: | 選択可能な要素が選択されない。 |
| undefined (既定値): | 要素は選択可能でない。 |
aria-setsize
(プロパティ)
リスト項目やツリー項目の当該の集合中における要素の項目数を定義します。セット内のすべての要素がDOM内に存在する場合には必要ありません。関連するaria-posinsetを参照してください。
このプロパティは、セットのメンバーを収集するコンテナ要素ではなく、セットのメンバーにマークされる。要素を言及することでユーザーを方向づけることは、"Yのうち項目X"であり、支援技術は、aria-posinset属性に等しいXおよびaria-setsize属性に等しいYを使用する。
セットにおけるすべての項目が文書構造に存在する場合、ブラウザーが自動的に各項目のセットサイズおよび位置を計算することができるため、この属性を設定する必要はない。しかし、セットの一部だけが与えられた瞬間に文書構造に存在する場合(文書サイズを削減するために)、このプロパティは、セットの大きさの明確な表示を提供するために必要とされる。
次の例は、16のセットで5から8の項目を示す。
<h2 id="label_fruit"> Available Fruit </h2> <ul role="listbox" aria-labelledby="label_fruit"> <li role="option" aria-setsize="16" aria-posinset="5"> apples </li> <li role="option" aria-setsize="16" aria-posinset="6"> bananas </li> <li role="option" aria-setsize="16" aria-posinset="7"> cantaloupes </li> <li role="option" aria-setsize="16" aria-posinset="8"> dates </li> </ul>
作成者は、aria-posinsetと連携してaria-setsizeを使用すべきである。
| 特性 | 値 |
|---|---|
| どの役割で使用するか: | |
| どの役割へ継承するか: | |
| 値: | 整数 |
aria-sort (プロパティ)
テーブルまたはグリッド内の項目が、昇順または降順にソートされるかどうかを示します。
作成者は、テーブル見出しまたはグリッド見出しにこのプロパティを適用すべきである。プロパティが提供されない場合、定義されるソート順は一切存在しない。各テーブルまたはグリッドのために、作成者は、一度に1見出しのみaria-sortを適用すべきである。
| 特性 | 値 |
|---|---|
| どの役割で使用するか: | |
| 値: | トークン |
| 値 | 説明 |
|---|---|
| ascending: | 項目は、この列で昇順にソートされる。 |
| descending: | 項目は、この列で降順にソートされる。 |
| none (既定値): | 列に適用される定義されたソートは存在しない。 |
| other: | 昇順または降順以外のソートアルゴリズムが適用されている。 |
aria-valuemax
(プロパティ)
範囲ウィジェットに対する最大許容値を定義します。
このプロパティによって定義される、最大値まで増加させることができる任意の値で開始できる範囲ウィジェットは、到達する。
最小値および最大値を宣言することは、代替デバイスに矢印キーを再動作させる、現在値を検証する、または単にユーザーに範囲の大きさ知らせることを可能にする。aria-valuenowが既知の最大値および最小値をもつ場合、作成者はaria-valuemaxおよびaria-valueminに対してプロパティを提供すべきである。作成者は、aria-valuemaxの値がaria-valueminの値以上であることを保証しなければならない。
| 特性 | 値 |
|---|---|
| 関連概念: | XForms [XForms] range |
| どの役割で使用するか: | |
| どの役割へ継承するか: | |
| 値: | 数 |
aria-valuemin
(プロパティ)
範囲ウィジェットに対する最小許容値を定義します。
このプロパティによって定義される、最小値まで減少させることができる任意の値で開始できる範囲ウィジェットは、到達する。
最小値および最大値を宣言することは、代替デバイスに矢印キーを再動作させる、現在値を検証する、または単にユーザーに範囲の大きさ知らせることを可能にする。aria-valuenowが既知の最大値および最小値をもつ場合、作成者はaria-valuemaxおよびaria-valueminに対してプロパティを提供すべきである。
作成者は、aria-valueminの値がaria-valuemaxの値以下であることを保証しなければならない。
| 特性 | 値 |
|---|---|
| 関連概念: | XForms [XForms] range |
| どの役割で使用するか: | |
| どの役割へ継承するか: | |
| 値: | 数 |
aria-valuenow
(プロパティ)
範囲ウィジェットに対する現在値を定義します。関連するaria-valuetextを参照してください。
このプロパティは、たとえば、スライダーやプログレスバーなどの範囲ウィジェットで使用される。
現在値が既知でない(たとえば、不確定な進捗バー)場合、作成者はaria-valuenow属性を設定すべきでない。aria-valuenow属性が存在しない場合、いかなる情報も現在値について示されない。aria-valuenowが既知の最大値および最小値をもつ場合、作成者はaria-valuemaxおよびaria-valueminに対してプロパティを提供すべきである。
aria-valuenowの値は10進数である。範囲が数値のセットである場合、aria-valuenowは、この値のいずれかである。たとえば、範囲が[0,
1]である場合、有効なaria-valuenowは0.5である。-2.5または1.1のような、範囲外の値は無効である。
progressbar要素およびscrollbar要素の場合、支援技術は、両方が定義される場合はaria-valueminからaria-valuemaxまでの範囲上の位置として算出される、パーセントとしてユーザーに値をレンダリングするべきであり、そうでなければ、パーセントインジケータをもつ実際値をレンダリングすべきである。役割sliderおよびspinbuttonをもつ要素の場合、支援技術は、ユーザーに実際値をレンダリングすべきである。
レンダリングされる値が数値として正確に表すことができない場合、作成者は、範囲の現在値のユーザーフレンドリーな表現を提供するためにaria-valuenowと併せてaria-valuetext属性を使用すべきである。たとえば、スライダーはsmall、medium、largeの値をレンダリングしているかもしれない。この場合、aria-valuenowの値は、値空間における各値の位置を示す、1から3までの範囲をとるだろうが、aria-valuetextは、small、medium、またはlargeの文字列のいずれかになる。
注:aria-valuetextが指定される場合、支援技術は、aria-valuenowの値を代わりにレンダリングする。
| 特性 | 値 |
|---|---|
| 関連概念: | XForms [XForms] range, start |
| どの役割で使用するか: | |
| どの役割へ継承するか: | |
| 値: | 数 |
aria-valuetext
(プロパティ)
範囲ウィジェットのaria-valuenowの値(現在の値)について人間が読める代替テキストを定義します。
このプロパティは、たとえば、スライダーやプログレスバーなどの範囲ウィジェットで使用される。
aria-valuetext属性が設定される場合、その値が不明である場合を除き、作成者はaria-valuenow属性も設定すべきである(たとえば、不確定なprogressbar上)。
レンダリングされる値が意味のある数値として表すことができない場合、作成者はaria-valuetext属性のみを設定すべきである。たとえば、スライダーはsmall、medium、largeの値をレンダリングしているかもしれない。この場合、aria-valuenowの値は、値空間における各値の位置を示す、1から3までの範囲をとるだろうが、aria-valuetextは、small、medium、またはlargeの文字列のいずれかになる。aria-valuetextが指定される場合、支援技術は、aria-valuenowの値の代わりの値をレンダリングすべきである。
aria-valuetextが指定される場合、支援技術は、aria-valuenowの値の代わりの値をレンダリングすべきである。
| 特性 | 値 |
|---|---|
| 関連概念: | XForms [XForms] range, start |
| どの役割で使用するか: | |
| どの役割へ継承するか: | |
| 値: | 文字列 |