コマンドが複数の選択のサブセットに影響することをユーザーに示す方法は?
-
03-10-2019 - |
質問
ここに私の質問を説明する例があります。
- 1000個のアイテムをリストするプログラムがあります。
- 1000個のアイテムのうち10個を選択します。
- このプログラムは、私の選択にコマンドが利用可能であることを示すボタンを有効にします。
- ボタンをクリックすると、ウィンドウが表示されます。
- ウィンドウでいくつかの変更を加えて、[OK]をクリックします。
- コマンドは私の複数の選択の10個の項目のうち5個を変更し、これらの5個の変更されたアイテムは、私のリストの変更された状態を反映しています。
私の質問は次のとおりです。
OK]をクリックする前に、コマンドが複数の選択のサブセットに影響することをユーザーに示すにはどうすればよいですか?
このシナリオをうまく処理する既存の製品の例を引用できますか?
解決
この問題に対処した既存の製品は、あなたがしようとしている方法ではわかりませんが、あなたは正しいアプローチを取っていると思います。たとえば、Coreldrawは、読み取り専用の情報を表示するだけでも、ユーザーが編集可能な(「ロックされた」)オブジェクトの組み合わせをマルチセレクトさせないことにより、問題を回避します。同様に、IronCadは、特定の異なるクラス(カメラやパーツなど)のマルチセレクトオブジェクトを使用することはできません。それは私にとって不必要な制限のようです。 Windows XPは、異なるクラスの複数のアイテムのプロパティウィンドウを開こうとする場合、単に無視します(たとえば、私のコンピューターやPDFファイルなど)。それは混乱し、イライラする可能性があります。私には、あらゆるもののマルチセレクションを許可することで、ユーザーに最大の柔軟性を許可したいと思うように思えます。
ここにいくつかのアイデアがあります:
まず、メイン/親ウィンドウに関連情報を示して、ユーザーが特定の選択されたオブジェクトに影響を与えないとユーザーが推測できるようにしてください。たとえば、読み取り専用のオブジェクトに、おそらく選択にのみ明確な外観を与えます(CADタイプのアプリのハンドル用の小さな南京錠を想像しています)。オブジェクトの各クラスは、おそらくそれぞれに特定のアイコンをタグ付けすることで、明確な外観を持つ必要があります。これにより、ユーザーがマルチセレクトとして、コマンドが何をするかを予測し、意味をなさないことができます(例えば、このアイテムはカメラであるため、移動できますが、明らかにサイズを変更することはできません)。
ダイアログが開かれるまで何が適用されるかをアプリが何が適用されるかがわからない場合、アクションが適用されないオブジェクトの選択の外観を変更する可能性があります。たとえば、ユーザーがプロパティ値を変更すると、そのプロパティを欠くすべてのオブジェクトは、親ウィンドウで「二次」選択外観を取得します。
アクションを適用するための基準が明らかでない場合、テキストの手がかりが必要になる場合があります。アクションを呼び出すメニュー項目またはボタンには、キャプションに影響するアイテムの数または影響するものが含まれている場合があります(たとえば、「板金のみ」)。プロパティボックスには、各プロパティが適用される、または変更できる多くの選択されたアイテムを示すプロパティの列の横に列を含めることができます。
それがスペース集約的すぎる場合、そしてあなたがする必要があるのはそれだけを示すことだけです いくつかの オブジェクトは影響を受けます(正確な数、アイデンティティ、または比例ではありません)、ダイアログで脚注を使用できるかもしれません。 「部分的」、おそらく半分満たされた円を意味するシンボルを作成しますか? (アスタリスクを使用しないでください - あまりにも頻繁に「必要」を意味します。)選択のサブセットに影響を与えるコントロールによってこの記号を置きます。ダイアログの下部に、「=選択したアイテムのみに適用される」というテキストのシンボルを表示します。
ユーザーがそのアクションをコミットする前にアクションが部分的にのみ適用されることを示す必要があることは正しいことですが、フォールバックとして、アクション後にいくらかのフィードバックを提供できます。一般に、親ウィンドウのオブジェクトで視覚的に明らかなアクションの効果を実現したいと考えていますが、それで十分かもしれません。ただし、ユーザーが混乱していることをまだ心配している場合(たとえば、後で変更されていないことに気づいたことがあると考えていないオブジェクトによって)、「[[自己規模)の通知(自己管理)を提供できるかもしれません。アクションが完了したときに[m]選択されたアイテムの[n] [n]。ユーザーが理由を理解していない場合に備えて、ヘルプリンクを提供するかもしれません。
新しいUIデザイントレイルをカットしているようです。ユーザーが実際に機能するかどうかを確認するために、ユーザーに決めたものは何でもテストすることをお勧めします。
他のヒント
リストにさまざまなタイプのアイテムが含まれており、アクションが特定のタイプのリスト項目のみに適用される場合、リスト項目とアクションボタンの両方が参照しているタイプを反映する必要があります。そして、このアイテムは、アクションがそれに行われたことを反映する必要があります。 (これはあなたの説明ではそうです。)
たとえば、ここにさまざまなタイプのアイテムのリストがあります。
ITEMS
NAME TYPE STATE
==== ==== ====
oatmeal cookie
chocolate cake
chocolate pudding
carrot cake
cherry pie
これで、ユーザーがこのリストのすべてのアイテムを選択した場合、ラベル付きのボタンに
"Frost Cake"
有効になります。そして、「フロストケーキ」ダイアログが開かれて閉じられた後、アクションが実行された後、リストは次のようになりました。
ITEMS
NAME TYPE STATE
==== ==== ====
oatmeal cookie
chocolate cake frosted
chocolate pudding
carrot cake frosted
cherry pie
もちろん、この例はまったく正しくないかもしれません。なぜなら、あなたはどんな種類のフロスティングが使用されているかを知りたいかもしれないので、あなたはすべてのケーキに同じ種類のフロスティングを置きたくないかもしれないからです。しかし、それは別の問題です。