メニューバー

メニューバーは、ナビゲーションバーとも呼ばれ、水平メニューコンポーネントです。


import { Menubar } from 'primereact/menubar';
         

メニューバーには、modelとしてのメニュー項目のコレクションが必要です。


<Menubar model={items} />    
 

startendプロパティを使用して、メニューバー内にカスタムコンテンツを配置できます。

logo
avatar

<Menubar model={items} start={start} end={end} />
 

commandプロパティは、クリックまたはキーイベントによってアイテムがアクティブになったときに実行するコールバックを定義します。


<Menubar model={items} />
<Toast ref={toast} />  
 

ナビゲーションを含むアイテムは、commandおよびurlプロパティを使用して定義され、ルーターリンクコンポーネント、外部リンク、またはプログラムによるナビゲーションを使用できるようにします。


<Menubar model={items} />    
 

スクリーンリーダー

メニューバーコンポーネントはmenubarロールを使用し、メニューを説明する値はaria-labelledbyまたはaria-labelプロパティで提供できます。各リスト項目にはpresentationロールがあり、アンカー要素にはアイテムのラベルを参照するaria-labelとアイテムが無効になっている場合はaria-disabledが定義されたmenuitemロールがあります。MenuBar内のサブメニューは、サブメニューのルートメニュー項目のラベルのIDとして定義されたaria-labelledbyを持つmenuロールを使用します。さらに、サブメニューを開くメニュー項目には、アイテムとサブメニューの関係を定義するためのaria-haspopuparia-expanded、およびaria-controlsがあります。

モバイルビューポートでは、オーバーレイメニューバーとボタンの関係を管理するために、aria-haspopuparia-expanded、およびaria-controlsを備えたbuttonロールのメニューアイコンが表示されます。ボタンを説明する値は、buttonPropsを使用して指定されたaria-labelまたはaria-labelledbyで定義できます。デフォルトでは、ロケール APIからのariaプロパティのnavigationキーが aria-label.

キーボードサポート

キー機能
tabフォーカスがメニューに移動する場合は、最初の項目にフォーカスを追加します。フォーカスがすでにメニュー内にある場合は、ページのタブシーケンスで次のフォーカス可能な項目にフォーカスが移動します。
shift + tabフォーカスがメニューに移動する場合は、最後の項目にフォーカスを追加します。フォーカスがすでにメニュー内にある場合は、ページのタブシーケンスで前のフォーカス可能な項目にフォーカスが移動します。
enterメニュー項目にサブメニューがある場合は、サブメニューの表示を切り替え、それ以外の場合はメニュー項目をアクティブにして、開いているすべてのオーバーレイを閉じます。
spaceメニュー項目にサブメニューがある場合は、サブメニューの表示を切り替え、それ以外の場合はメニュー項目をアクティブにして、開いているすべてのオーバーレイを閉じます。
escapeフォーカスがポップアップサブメニュー内にある場合は、サブメニューを閉じて、フォーカスを閉じたサブメニューのルート項目に移動します。
下矢印フォーカスがルート要素にある場合は、サブメニューを開き、フォーカスをサブメニューの最初の要素に移動します。それ以外の場合は、サブメニュー内の次のメニュー項目にフォーカスを移動します。
上矢印フォーカスがルート要素にある場合は、サブメニューを開き、フォーカスをサブメニューの最後の要素に移動します。それ以外の場合は、サブメニュー内の前のメニュー項目にフォーカスを移動します。
右矢印フォーカスがルート要素にある場合は、次のメニュー項目にフォーカスを移動します。それ以外の場合は、利用可能な場合はサブメニューを開き、フォーカスを最初の項目に移動します。
左矢印フォーカスがルート要素にある場合は、前のメニュー項目にフォーカスを移動します。それ以外の場合は、サブメニューを閉じて、フォーカスを閉じたサブメニューのルート項目に移動します。
homeフォーカスをサブメニュー内の最初のメニュー項目に移動します。
endフォーカスをサブメニュー内の最後のメニュー項目に移動します。