aria-haspopup
aria-haspopup
属性は、属性が設定されている要素によってトリガーできる対話可能なポップアップ要素の可用性とタイプを示します。
解説
ARIA では、表示されることがトリガーされたときに他のコンテンツの上に表示される対話可能なメニュー、リストボックス、ツリー、グリッド、ダイアログは、「ポップアップ」と見なされます。これらのポップアップは、ページ上の 1 つ以上の対話可能要素によってトリガーされます。対話可能要素によってトリガーされるポップアップの可用性とタイプは、aria-haspopup
状態で識別される必要があります。
menu
、listbox
、tree
、grid
、dialog
、または true
の 6 つの列挙値のいずれかを持つ aria-haspopup
の存在は、要素がポップアップをトリガーできることと、どの種類のポップアップが表示されるかを示します。次に、ポップアップする要素は、指定されたロールを持つ必要があります。true
は menu
と同じです。空の文字列や他の ロール を含むその他の値は、false
が設定されているものとして扱われます。
tooltip
は対話可能ではないため、この文脈ではポップアップとは見なされません。
メモ:
ポップアップコンテンツのコンテナーとして機能する要素のロールが menu
、listbox
、tree
、grid
または dialog
であり、aria-haspopup
の値がポップアップコンテナーのロールと一致していることを確認してください。
aria-haspopup
状態は、ポップアップがあることとポップアップの種類を支援技術ユーザーに通知しますが、対話性は提供しません。ポップアップをキーボードでアクセス可能にするには、aria-haspopup
を持つ要素がフォーカス可能でポップアップをトリガーできること、ポップアップを開くためのキーボードメカニズムがあること、およびポップアップ要素がその子孫すべてのフォーカスを管理していることを確認してください。
メモ: ARIA はアクセシブルな機能を有効にするものではありません。ARIA は機能の意図された動作を伝えるだけです。
menubar
を作成する場合、親の menuitem
には aria-haspopup="menu"
(または true
)を設定する必要があります。メニューを開くボタンには button
ロールを設定するか、できれば <button>
要素である必要があり、さらに aria-haspopup="menu"
(または true
)を設定する必要があります。ポップアップメニューを持つ Tab
要素にも aria-haspopup="menu"
を設定する必要があります。Webサイトのナビゲーションを作成するために menubar
を使用しないでください。
メモ: combobox
ロールを持つ要素には暗黙的な listbox
が aria-haspopup
の値として設定されます。
値
関連インターフェイス
Element.ariaHasPopup
-
Element
インターフェイスの一部であるariaHasPopup
プロパティは、要素によってトリガーできるメニューやダイアログなどの対話可能なポップアップ要素の可用性とタイプを示すaria-haspop
属性の値を反映します。 ElementInternals.ariaHasPopup
-
ElementInternals
インターフェイスのプロパティはariaHasPopup
属性の値を反映します。
関連付けられたロール
使用するロール:
継承先のロール:
仕様書
Specification |
---|
Accessible Rich Internet Applications (WAI-ARIA) # aria-haspopup |
関連情報
aria-controls
menu
listbox
tree
grid
dialog
- Toolbar example - W3C WAI ARIA practices