モードレスとは?背後も操作できるダイアログでユーザーの作業を妨げない設計

デザイン・クリエイティブ
モードレスとは?ざっくりと3行で
  • ダイアログやウィンドウが表示されていても背後のメインコンテンツを自由に操作できるUIデザインのこと。操作モードを強制的に切り替えない(モードを持たない=モードレス)という意味が語源だ
  • モーダル(背後を操作不能にする)と対になる概念でユーザーの作業の流れを中断せずに補助情報の参照・設定の変更・検索などを並行してできるUXを実現する
  • デスクトップアプリの「検索と置換」ダイアログ・IDEのデバッガーパネル・Figmaの右サイドバーなどがモードレスUIの代表例で、ユーザーが必要なときだけ参照して作業を続けられる

【深掘り】これだけ知ってればOK!

モードレスとモーダルの使い分け:モードレスが向く場面(ユーザーが参照しながら作業を続ける:検索パネル・設定パネル・ツールバー)。モーダルが向く場面(ユーザーの即時確認・決定が必要:削除確認・重要な設定変更・サインアップフォーム)。ユーザーの作業を中断させる必要があるかどうかが判断の基準だ。

モードレスダイアログの代表的な実装例:VSCodeの検索パネル(Ctrl+F)(サイドに表示されて検索しながらコードを編集できる)・FigmaのDesignパネル(右サイドバーで要素のプロパティを見ながらキャンバスを操作できる)・Googleスプレッドシートの「検索と置換」(ダイアログが開いたままセルを選択・編集できる)。

モードレスUIのアクセシビリティ注意点:モードレスダイアログは閉じるまで画面上に残るため、スクリーンリーダーのユーザーがダイアログの存在に気づかないことがある。ARIAのrole=dialogとaria-modal=false(モードレスの場合)を設定して、ダイアログが表示されたことをスクリーンリーダーに適切に通知することが重要だ。

Appleのヒューマンインターフェースガイドラインでは「ユーザーの現在のタスクを中断させるべき理由がない限りモードレスを優先する」という原則が示されている。モーダルの多用はユーザーのフローを分断して「モーダル地獄」というアンチパターンになる。

モードレスの概念はUI設計だけでなくシステム設計にも応用される。テキストエディタの非ブロッキング入力(ファイル保存中も入力できる)・OSのマルチタスク(複数のアプリを切り替えながら使える)なども広義のモードレス設計の考え方だ。

よくある誤解

モードレスはモーダルより優れているので常に使うべきだと思っている

モードレスは作業を中断させないという利点があるが、ユーザーが重要な情報を見落としやすいというデメリットもある。不可逆な操作の確認・重要な通知はモーダルの方が適切だ。

モードレスダイアログはアクセシビリティ対応が不要だと思っている

モードレスダイアログも適切なARIAロールとaria-modal属性の設定が必要だ。スクリーンリーダーのユーザーがダイアログの存在を認識して操作できるようにすることがアクセシビリティの基本だ。

会話での使われ方

ITKAGYO運営者デプロイ太郎のアイコン画像

検索パネルをモードレスにしたことで、検索結果を見ながらテキストを編集できるようになりました。モーダルだと作業が中断されていましたが、UXが大幅に改善しました。

UIエンジニアが検索機能をモーダルからモードレスに変更した効果を報告している場面。

ITKAGYO運営者デプロイ太郎のアイコン画像

このウィザード形式のフォーム、全部モーダルにするとユーザーが前の内容を確認できません。設定パネルをモードレスにして、入力しながら確認できる設計にしましょう。

UXデザイナーがフォーム設計でモーダルとモードレスの適切な使い分けを提案している場面。

ITKAGYO運営者デプロイ太郎のアイコン画像

Figmaみたいにインスペクターパネルをモードレスにすると、要素を選択しながらプロパティを確認できて作業効率が上がります。

プロダクトデザイナーがFigmaを例にモードレスUIの設計提案をしている場面。

【まとめ】3つのポイント

  • 背後も操作できるダイアログでユーザーの作業の流れを中断しないUI:検索・設定・インスペクターなど「参照しながら作業を続ける」場面ではモードレスが適切でユーザーの作業フローを中断させずに補助情報へのアクセスを提供できる
  • 作業を中断させる必要がある場面のみモーダル・それ以外はモードレスを選択する:不可逆な操作の確認・重要な通知はモーダル・参照・設定・検索はモードレスという使い分けがAppleのHIGでも推奨されているUXデザインの原則だ
  • モードレスダイアログもARIAロール設定でアクセシビリティ対応が必要:role=dialogとaria-modal=falseを設定してスクリーンリーダーのユーザーがモードレスダイアログの存在を認識して適切に操作できるようにすることがアクセシビリティの基本だ

よくある質問

Q
モードレスとモーダルの見た目の違いは何ですか?
A

モーダルはオーバーレイ(暗い背景)が表示されて背後のコンテンツが操作不能になります。モードレスはオーバーレイなしで背後のコンテンツを操作できます。

Q
Webアプリでモードレスダイアログはどう実装しますか?
A

HTMLのdialog要素のshow()メソッド(showModal()ではなく)を使うとモードレスダイアログとして表示できます。

Q
Figmaのパネルはモードレスですか?
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要素の説明

:IT用語辞典「モードレス」

コメント

「IT用語、難しすぎて心が折れそう……」という方のための、ハードル低めな用語辞典です。

情報レベルは「基礎中の基礎」。会話を止めないためのエッセンスだけを抽出しています。分かりやすさを追求するあまり、時々例え話が暴走しているかもしれませんが、そこは「ほどよく」聞き流していただけると幸いです。
ほどよくIT用語辞典デザイン・クリエイティブ
デプロイ太郎のSNSを見てみる!!
タイトルとURLをコピーしました