Microsoft専門のニュースサイト「Windows Latest」は11月6日(現地時間)、「Microsoft admits Windows 11's right-click menu is cluttered, confirms fix for WinUI apps」において、Windows 11のコンテキストメニューに「分割コンテキストメニュー(Split Context Menu)」が導入される予定だと伝えた。

これはWindows Developerチームが11月5日(米国時間)に開催した「WinUI Community Call」にて発表した変更案で、既存の煩雑なAPI「MenuFlyoutItems」を改善するという。

  • Microsoft admits Windows 11's right-click menu is cluttered、confirms fix for WinUI apps

    Windows 11

MenuFlyoutItemsの問題点と改善案

開発者は現在のMenuFlyoutItemsに2つの問題点があると指摘。アクション項目の分割ができず、無関係なオプションや過剰なオプションを表示する問題があり、煩雑なメニューを作り出す原因だという。

これら問題の改善案として、新たに「SplitMenuFlyoutItem」を導入することが発表された。このAPIはコンテキスト(選択したアイテムなど)に応じたグループ化とカスタマイズをサポートし、プライマリーアクションとセカンダリーアクションの両方の定義を可能にする。これら変更によりユーザー選択に合わせたメニューが提供できるようになり、業務効率および煩雑な表示を改善できると説明している。

  • エクスプローラーのコンテキストメニューを模したサンプル - 引用:Microsoft

    エクスプローラーのコンテキストメニューを模したサンプル 引用:Microsoft

開発者は発表の中でエクスプローラーのコンテキストメニューに模したサンプルを実演している。従来のMenuFlyoutItemsはアクション項目をすべて表示することで縦方向に長いメニューを構築するが、SplitMenuFlyoutItemはセカンダリーアクションを採用することで簡素化を実現している。

Windows LatestによるとSplitMenuFlyoutItemは「WinUI 3」を基盤にするという。そのためWindowsアプリに限定導入される可能性があり、Windows 11のすべてのメニューに適用されるかは不明としている。

新機能は開発の途上

本稿執筆時点において、SplitMenuFlyoutItemはGitHubのWinUIリポジトリーにプルリクエストされた「提案」の段階にある(参考:「[API Spec] SplitMenuFlyoutItem control by dipeshmsft · Pull Request #10862 · microsoft/microsoft-ui-xaml · GitHub」)。

プルリクエストのコメント欄にはプライマリーアクションとセカンダリーアクションが内包関係にないと指摘する投稿があり、視覚的な混乱を招く仕様に疑問が投げかけられている。他にも直感的なキーボード操作ができないなどの指摘があり、まだ採用には至っていない。

Windows Latestによると、SplitMenuFlyoutItemは最新のWindows App SDKプレビュービルドを利用することで動作を検証できるという。開発に興味のある技術者は、動作検証および議論に参加することができる。