質問

おおむね、モーダルインターフェースは大きな岩を吸います。一方、ファイルを開く... 、または印刷... を処理するより良い方法は考えられません。これは、

  • これらは時折のアクションであり、まれで重要です。
  • これらは本質的にアトミックです。すべての印刷オプションの指定を完了してそれを実行するか、ショー全体をキャンセルします。

小さなスタイルガイドをまとめましょう。ダイアログが推奨されるプレゼンテーションであるユースケースと、それが推奨される理由を提案します。ダイアログを非モーダルにすることはできますか?そうであれば、キャンセルは明確な意味を失うため、トランザクション境界をどのようにマークしますか。たとえば、[適用]ボタンを使用しますか?

役に立ちましたか?

解決

IMO、モーダルインターフェイスは、 持っている の場合にのみ使用してください。ダイアログが実行していることや、アプリケーションを続行する前に確認することを処理します。それ以外の場合、ダイアログを使用している場合は、非モーダルにする必要があります。

他のヒント

非モーダルウィンドウを実行する場合、それらが一意であることを確認したい場合があります:2つの同一のツールボックス(たとえば、グラフィカルプログラム)または2つの同一の設定ダイアログ(製品でこれを見た)混乱を招く可能性があります。

一方で、検索/置換ダイアログが非モーダルの場合は感謝しています。ドキュメントに戻って最後の変更をキャンセルしたり、他の場所をスキップしたりできます。現在の設定を失うことなく。

どういうわけか、モーダルダイアログはユーザーに「他のすべてを停止し、あなたがしていることを終える」ことを伝えます。これは、 Stephen Wrightonの回答

私の経験では、UIでモーダルになるべきものはほとんどありません。これの最良の例の1つであり、おそらくサイトのユーザーによく知られているものの1つはEclipseです。モーダルダイアログがいくつかありますが、ここではコアIDEについてのみ説明しますが、それらは主にファイル操作、設定ダイアログ、パラメーターダイアログの3つのカテゴリに分類されます。

環境設定ダイアログは、伝統的にモーダルですが、モーダルである必要はありません。必要なのは、変更が進行中の作業に支障をきたす可能性がある場合にのみモーダル動作が導入される、Mac OS設定モデルを見るだけです。

要するに、私が言うべきことは、モーダルであるべきものの良い要約です。このセットの例外は、使用法によって十分に正当化される必要があります。

  • パラメータ入力ダイアログ(例:リファクタリングウィザード。反例:ダイアログの検索)
  • ファイル操作
  • 即座に破壊的な効果をもたらす行動の確認

ユーザーログインウィンドウについては、セキュリティが必要であると仮定して、ログインするまでアプリケーションの残りの部分を使用することはできません(または使用すべきではありません)。

この違いは、ダイアログが表示されている間にユーザーがアプリケーションでできることはまったくない場合、モーダルではないことです。これには、コピー/貼り付けアクションが含まれます。個人的には、ファイル/オープンおよび印刷ダイアログもモーダルではない場合、私はそれを好むでしょう。モーダルダイアログは、デザインが弱いことのサインであり、コードをすばやく公開するために必要な悪であると思います。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top