このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

ARIA: menubar ロール

menubar は通常は表示されたままで、水平に表示される menu の表示です。

説明

メニューは、アクションや機能のセットなど、ユーザーに選択肢のリストを提供するウィジェットです。menubar タイプのメニューは通常、永続的に表示される水平のコマンドバーとして表示されます。メニューバーは、多くのデスクトップアプリケーションウィンドウの上部によく見られる、プルダウンメニューを含むメニューバーなど、ネイティブのオペレーティングシステムのメニューバーのように動作します。

menubar ロールは、多くのデスクトップアプリケーションのウィンドウ上部近くに見られるものと似たメニューバーを作成するために使用されます。視覚的に永続的で、通常は水平な、ユーザーに一貫したコマンドセットへの素早いアクセスを提供するメニュー項目のバーです。

menubar には、menuitemmenuitemradiomenuitemcheckbox の 3 種類のメニュー項目が含まれます。これらのメニュー項目は、オプションで 1 つ以上の group コンテナーにネストできます。グループまたは項目は、オプションで separator 要素で区切ることができます。すべてのメニュー項目は、無効化されていてもフォーカスを受け取ることができる必要がありますが、groupseparator 要素はフォーカス可能ではありません。

ネイティブのメニューバーの例は、デスクトップブラウザーでこれを読んでいる場合、画面の上部に存在する可能性があるバーです。ウェブベースのメニューバーの例は、Google ドキュメントでドキュメント名の下に通常表示される「ファイル 編集 表示 挿入 表示形式」などと読める水平メニューバーです。

メニューバーのインタラクションは、デスクトップのグラフィカルユーザーインターフェイスにおける典型的なメニューバーのインタラクションと似ている必要があります。Google ドキュメントでは、これらのメニュー項目のそれぞれがポップアップサブメニューを持つ menuitem であるため、それぞれが aria-haspopup 属性を true に設定しています。menubar 要素にはありません。

メニューバーとすべてのメニュー項目はフォーカス可能で、tabindex 属性が設定されています。メニューバーがタブ移動によってフォーカスを受け取ると、キーボードフォーカスは最初の menuitem に配置されます。メニュー内の各項目は tabindex-1 に設定していますが、最初の項目は tabindex0 に設定しています。

メニューバーがショートカットキーなどのコンテキストアクションの結果としてフォーカスを受け取った場合、Escape または Enter が呼び出し元のコンテキストにフォーカスを戻すことがあります。とはいえ、ユーザーエージェント、オペレーティングシステム、または支援技術のショートカットに干渉するショートカットキーを作成しないようにしてください。

どんなに深くネストされていても、すべてのメニュー項目は、無効化されていてもフォーカスを受け取ることができます。

menubar に表示されるラベルがある場合は、ラベル要素を参照する値に設定された aria-labelledby を含めてください。それ以外の場合は、説明的な aria-label を含めることでメニューバーにアクセシブル名を提供してください。

menubar 内の menuitem 要素には、メニュー項目の子サブメニューを含めることができます。サブメニューは何層にも深くネストできます。一般的に、外側の menubar は水平で、すべてのサブメニューは垂直です。そうではなくてメニューバーが垂直の場合は、menubar 要素に aria-orientation="vertical" を含めてください。それ以外の場合、デフォルト値が水平であるため、この属性は必要ありません。

関連する WAI-ARIA ロール、ステート、プロパティ

group ロール

メニュー項目のセットを識別します

menubar に含まれる選択肢のセット内のオプション。サブメニューを持つ場合があります。

同じロールを持つ要素のセット内のチェック可能なメニュー項目で、一度にチェックできるのは 1 つだけです。

可能な値が truefalse、または mixed のチェック可能な状態を持つメニュー項目。

aria-orientation

メニューバーが垂直の場合は、menubar 要素に aria-orientation="vertical" を含めてください。デフォルトの向きは horizontal です。

キーボードインタラクション

フォーカスが menubar 内にある場合、それは常にメニューバー内のメニュー項目上にあります。フォーカスがメニューバー内のトップレベルの menuitem 上にある場合、次のキーボードインタラクションをサポートする必要があります:

現在フォーカスされている menuitem にサブメニューがある場合、サブメニューを開き、サブメニューの最初の項目にフォーカスを配置します。

(オプション)現在フォーカスされている menuitem にサブメニューがある場合、サブメニューを開き、サブメニューの最後の項目にフォーカスを配置します。

次の項目にフォーカスを移動し、オプションで最後から最初に折り返します。

前の項目にフォーカスを移動し、オプションで最初から最後に折り返します。

Home

矢印キーによる折り返しがサポートされていない場合、menubar の最初の項目にフォーカスを移動します。

End

矢印キーによる折り返しがサポートされていない場合、menubar の最後の項目にフォーカスを移動します。

Tab

タブシーケンスの次の要素にフォーカスを移動します。それによってメニューバーを出る場合、メニューバー内のすべてのサブメニューが閉じられます。

shift + Tab

タブシーケンスの前の要素にフォーカスを移動します。それによってメニューバーを出る場合、メニューバー内のすべてのサブメニューが閉じられます。

menubar 内の menuitem にフォーカスがある場合のキーボードインタラクションの詳細については、menuitem キーボードインタラクションmenuitemradio キーボードインタラクション、および menuitemcheckbox キーボードインタラクション を参照してください。

注意:上記のインタラクションは、menubar が水平であることを前提としています。menubar が垂直の場合は、aria-orientation="vertical" を含め、次のキーボードキーを適宜変更してください:

上記で説明した のように動作します。

上記で説明した のように動作します

上記で説明した のように動作します。

上記で説明した のように動作します

仕様書

Specification
Accessible Rich Internet Applications (WAI-ARIA)
# menubar
Unknown specification

関連情報