- ダイアログやウィンドウが表示されていても背後のメインコンテンツを自由に操作できるUIデザインのこと。操作モードを強制的に切り替えない(モードを持たない=モードレス)という意味が語源だ
- モーダル(背後を操作不能にする)と対になる概念でユーザーの作業の流れを中断せずに補助情報の参照・設定の変更・検索などを並行してできるUXを実現する
- デスクトップアプリの「検索と置換」ダイアログ・IDEのデバッガーパネル・Figmaの右サイドバーなどがモードレスUIの代表例で、ユーザーが必要なときだけ参照して作業を続けられる
【深掘り】これだけ知ってればOK!
モードレスダイアログの代表的な実装例:VSCodeの検索パネル(Ctrl+F)(サイドに表示されて検索しながらコードを編集できる)・FigmaのDesignパネル(右サイドバーで要素のプロパティを見ながらキャンバスを操作できる)・Googleスプレッドシートの「検索と置換」(ダイアログが開いたままセルを選択・編集できる)。
モードレスUIのアクセシビリティ注意点:モードレスダイアログは閉じるまで画面上に残るため、スクリーンリーダーのユーザーがダイアログの存在に気づかないことがある。ARIAのrole=dialogとaria-modal=false(モードレスの場合)を設定して、ダイアログが表示されたことをスクリーンリーダーに適切に通知することが重要だ。
モードレスの概念はUI設計だけでなくシステム設計にも応用される。テキストエディタの非ブロッキング入力(ファイル保存中も入力できる)・OSのマルチタスク(複数のアプリを切り替えながら使える)なども広義のモードレス設計の考え方だ。
よくある誤解
モードレスはモーダルより優れているので常に使うべきだと思っている
モードレスは作業を中断させないという利点があるが、ユーザーが重要な情報を見落としやすいというデメリットもある。不可逆な操作の確認・重要な通知はモーダルの方が適切だ。
モードレスダイアログはアクセシビリティ対応が不要だと思っている
モードレスダイアログも適切なARIAロールとaria-modal属性の設定が必要だ。スクリーンリーダーのユーザーがダイアログの存在を認識して操作できるようにすることがアクセシビリティの基本だ。
会話での使われ方

検索パネルをモードレスにしたことで、検索結果を見ながらテキストを編集できるようになりました。モーダルだと作業が中断されていましたが、UXが大幅に改善しました。
UIエンジニアが検索機能をモーダルからモードレスに変更した効果を報告している場面。




このウィザード形式のフォーム、全部モーダルにするとユーザーが前の内容を確認できません。設定パネルをモードレスにして、入力しながら確認できる設計にしましょう。
UXデザイナーがフォーム設計でモーダルとモードレスの適切な使い分けを提案している場面。




Figmaみたいにインスペクターパネルをモードレスにすると、要素を選択しながらプロパティを確認できて作業効率が上がります。
プロダクトデザイナーがFigmaを例にモードレスUIの設計提案をしている場面。
【まとめ】3つのポイント
- 背後も操作できるダイアログでユーザーの作業の流れを中断しないUI:検索・設定・インスペクターなど「参照しながら作業を続ける」場面ではモードレスが適切でユーザーの作業フローを中断させずに補助情報へのアクセスを提供できる
- 作業を中断させる必要がある場面のみモーダル・それ以外はモードレスを選択する:不可逆な操作の確認・重要な通知はモーダル・参照・設定・検索はモードレスという使い分けがAppleのHIGでも推奨されているUXデザインの原則だ
- モードレスダイアログもARIAロール設定でアクセシビリティ対応が必要:role=dialogとaria-modal=falseを設定してスクリーンリーダーのユーザーがモードレスダイアログの存在を認識して適切に操作できるようにすることがアクセシビリティの基本だ
よくある質問
-
Qモードレスとモーダルの見た目の違いは何ですか?
-
A
モーダルはオーバーレイ(暗い背景)が表示されて背後のコンテンツが操作不能になります。モードレスはオーバーレイなしで背後のコンテンツを操作できます。
-
QWebアプリでモードレスダイアログはどう実装しますか?
-
A
HTMLのdialog要素のshow()メソッド(showModal()ではなく)を使うとモードレスダイアログとして表示できます。
-
QFigmaのパネルはモードレスですか?
-
A
はい。Figmaのデザインパネル・レイヤーパネル・アセットパネルなどは全てモードレスで、キャンバスを操作しながら各パネルを参照・操作できます。
-
Qモードレスダイアログが閉じられないとどうなりますか?
-
A
ユーザーが意図せずダイアログを放置してしまう状態になります。閉じるボタンの視認性を高めてEscキーでの閉じる機能を実装することが重要です。
【出典】参考URL
https://developer.apple.com/design/human-interface-guidelines/ :AppleのHuman Interface Guidelines
https://developer.mozilla.org/ja/docs/Web/HTML/Element/dialog :MDNのdialog要素の説明


コメント