詳細ガイド
Angular Aria

メニュー

概要

メニューは、ユーザーにアクションやオプションのリストを提供し、通常はボタンのクリックや右クリックに応じて表示されます。メニューは、矢印キーによるキーボードナビゲーション、サブメニュー、チェックボックス、ラジオボタン、無効化されたアイテムをサポートしています。

使い方

メニューは、ユーザーが選択できるアクションやコマンドのリストを提示するのに適しています。

メニューを使用する場合:

  • アプリケーションのコマンドメニュー(File、Edit、View)を構築する場合
  • コンテキストメニュー(右クリックアクション)を作成する場合
  • ドロップダウンのアクションリストを表示する場合
  • ツールバーのドロップダウンを実装する場合
  • 設定やオプションを整理する場合

メニューを避けるべき場合:

  • サイトナビゲーションを構築する場合(代わりにナビゲーションランドマークを使用してください)
  • フォームのセレクトを作成する場合(Selectコンポーネントを使用してください)
  • コンテンツパネルを切り替える場合(Tabsを使用してください)
  • 折りたたみ可能なコンテンツを表示する場合(Accordionを使用してください)

機能

  • キーボードナビゲーション - 矢印キー、Home/End、文字検索による効率的なナビゲーション
  • サブメニュー - 自動配置の機能を備えたネストされたメニューのサポート
  • メニュータイプ - スタンドアロンメニュー、トリガーメニュー、メニューバー
  • チェックボックスとラジオボタン - トグルおよび選択メニューアイテム
  • 無効化されたアイテム - フォーカス管理を備えたソフトまたはハードな無効状態
  • 自動クローズ動作 - 選択時に閉じる設定が可能
  • RTLサポート - 右から左へ記述する言語のナビゲーション

トリガーボタンとメニューを組み合わせることで、ドロップダウンメニューを作成します。トリガーはメニューを開閉します。

ユーザーがアイテムを選択するかEscapeキーを押すと、メニューは自動的に閉じます。

コンテキストメニュー

コンテキストメニューは、ユーザーが要素を右クリックしたときにカーソル位置に表示されます。

contextmenuイベントの座標を使用してメニューを配置します。

スタンドアロンメニュー

スタンドアロンメニューはトリガーを必要とせず、インターフェース上で常に表示されたままになります。

スタンドアロンメニューは、常に表示されるアクションリストやナビゲーションに適しています。

無効化されたメニューアイテム

disabled入力を使用して特定のメニューアイテムを無効にします。softDisabledでフォーカスの動作を制御します。

[softDisabled]="true"の場合、無効化されたアイテムはフォーカスを受け取ることができますが、アクティブにできません。[softDisabled]="false"の場合、無効化されたアイテムはキーボードナビゲーション中にスキップされます。

API

メニューアイテムのコンテナディレクティブです。

入力

Property Type Default Description
disabled boolean false メニュー内のすべてのアイテムを無効にします
wrap boolean true キーボードナビゲーションが端で折り返すかどうか
softDisabled boolean true trueの場合、無効化されたアイテムはフォーカス可能ですが、インタラクティブではありません

メソッド

Method Parameters Description
close none メニューを閉じます
focusFirstItem none 最初のメニューアイテムにフォーカスを移動します

複数のメニューを格納する水平コンテナです。

入力

Property Type Default Description
disabled boolean false メニューバー全体を無効にします
wrap boolean true キーボードナビゲーションが端で折り返すかどうか
softDisabled boolean true trueの場合、無効化されたアイテムはフォーカス可能ですが、インタラクティブではありません

メニュー内の個々のアイテムです。

入力

Property Type Default Description
value any 必須。 このアイテムの値です
disabled boolean false このメニューアイテムを無効にします
submenu Menu サブメニューへの参照です
searchTerm string '' タイプアヘッドの検索語です(双方向バインディングをサポート)

シグナル

Property Type Description
active Signal<boolean> アイテムが現在フォーカスを持っているかどうか
expanded Signal<boolean> サブメニューが展開されているかどうか
hasPopup Signal<boolean> アイテムに関連付けられたサブメニューがあるかどうか

NOTE: MenuItemはパブリックメソッドを公開しません。submenu入力を使用して、サブメニューをメニューアイテムに関連付けます。

メニューを開くボタンまたは要素です。

入力

Property Type Default Description
menu Menu 必須。 トリガーするメニューです
disabled boolean false トリガーを無効にします
softDisabled boolean true trueの場合、無効化されたトリガーはフォーカス可能です

シグナル

Property Type Description
expanded Signal<boolean> メニューが現在開いているかどうか
hasPopup Signal<boolean> トリガーに関連付けられたメニューがあるかどうか

メソッド

Method Parameters Description
open none メニューを開きます
close none メニューを閉じます
toggle none メニューの開閉を切り替えます