web-dev-qa-db-ja.com

別のモーダルの上にモーダルを表示します、それは本当に罪ですか?

私は現在、技術移転オフィスのWebアプリで作業しており、すでに開いている別のウィンドウの上にモーダルウィンドウを表示することを絶対に避けています。

より多くのコンテキストを提供するために、基本的にWebアプリのいくつかのセクションで既存のファイルをアップロードまたは添付できるファイル管理コンポーネントがあります。このコンポーネントは常にモーダルウィンドウとして表示されます。

私が今持っているジレンマは、「アクティビティエントリ」(シンプルなWYSIWYGテキストエディター)を投稿できる別のコンポーネントがあり、これもモーダルとして表示され、ファイルを添付するオプションがあるため、「 「ファイルを添付」ボタンをクリックすると、そのエントリに添付するファイルを選択またはアップロードするために、ファイル管理コンポーネントが呼び出されます。

すでに開いている別のウィンドウの上にモーダルウィンドウを表示することは、大きな罪です。

最初のモーダルウィンドウを拡張し、両方のコンポーネントを同時に(少なくともファイルの選択中に)表示する方が良いでしょうか?

既存の設計言語/システムからのガイドラインはありますか?ありがとう!

4
Stefano Fenzo

あるモーダルを別のモーダルに重ねる多くのアプリを作成しています。

例:ビジネスユーザーがプログラムの中から選択する基本的なアプリがあります。ユーザーが1つを選択すると、画面の90%をカバーするモーダルが表示されます(1600pxの固定でアプリが消費するデスクトップを使用)

モーダルでは、ユーザーは前記プログラムに関する情報を記入します。そして、この情報を記入する過程で、別のモーダルが使用されることは数多くあります。

それはうまく機能します。ユーザーはこれらのモーダルで行う必要があります。作業が完了すると(続行する前に完了する必要があります)、データが受け入れ可能であることを確認してから、前の「ページ」に戻ります。

これらのモーダルは、サーバーベースの2000年初頭の環境では、新しいページの読み込みが必要でした。今日は必要ありません。

編集:

以下の画像は、2つのレベルのモーダル(および元の画面)を示しています。最初(下)のレイヤーにはプログラムが表示されます。次に、ユーザーがプログラム行で作業するためのモーダルが表示されます。最後に(最上層)、ユーザーはプログラム行で詳細な計算を行う必要があります。 (ツールは編集されています。)

この計算レベルでは、アラート、確認などがあります...

enter image description here

1
Mayo

モーダルの作成は、ブラウザーのコンソールから送信されたプロンプトの昔のクエリの質問に基づいています。アイデアは、簡単な質問の確認、データの追加、ユーザーが操作したときに続行できる機能をユーザーに確認することでした。同じエクスペリエンスを使用して別の相互作用の複雑さを追加すると、達成しようとしているワークフローの成功が減少します。

https://www.nngroup.com/articles/modal-nonmodal-dialog/

1
thedude

さて、あなたが指摘したように、モーダルビューは、使いやすさを考えるとあまり良くないので、別のモーダルビューの上に配置することを意図していません。

ただし、WYSIWYGを使用する場合は、編集用に別のページにすることをお勧めします。

これは、モーダルビューがあまりにも多くのコンポーネントを持つように設計されておらず、すばやくアクションを実行できるように作られていること、そして別のモーダルをトリガーするattach fileボタンを追加することは言うまでもありません。使用と実装を簡単にするためにシンプルであることを意図したモーダル。

1
Adedoyin Akande