「任意の長さの」テーブルを表示するアプリケーションで、テーブルが「すべて展開/すべて折りたたむ」ボタンを含むヘッダーで構成され、テーブルの各行にローカルの展開/折りたたみボタンが含まれている場合を考えます。つまり、「すべて展開/すべて折りたたむ」ボタンは、リスト自体を展開および折りたたむのではなく、リストの各行の詳細を展開および折りたたむことです。
概略的に、これはすべての行が折りたたまれたリストです。ヘッダー行にはすべて展開アイコン(+)があり、各行には展開行アイコン(+)があります。
+ name condition type
+ fred 5 B
+ sally 23 C
Fredの横にある個別の展開行をクリックすると、リストにこれが表示されます。 (a)行の展開行アイコンがプラスからマイナスに切り替わり、折りたたまれていることを示します。(b)fredの詳細が元の行のすぐ下に表示されます。
+ name condition type
- fred 5 B
Before Data After Data
foobar1 foobar2
+ sally 23 C
次に、「すべて展開」アイコンをクリックしたとします。すべてのアイコンが(以前の状態に関係なく)プラスからマイナスに切り替わり、次に押すとアイコンが折りたたまれ、各行のすぐ下に詳細が表示されることに注意してください。
- name condition type
- fred 5 B
Before Data After Data
foobar1 foobar2
- sally 23 C
Before Data After Data
chocolate Vanilla with strawberries
ここで私の特定のシナリオと私の質問に:
このリストには数十から数百の行が含まれる場合があることに注意してください。技術的には、すべての行が展開されているため、すべて折りたたみアイコンが表示されます。したがって、1つの行が折りたたまれている場合でも、すべての行が展開されているわけではないので、それでもすべて折りたたみを表示する必要がありますか? 5つの行が個別に折りたたまれている場合はどうなりますか?または、(n-1)行が個別に折りたたまれ、単一の展開された行のみが残っている場合はどうなりますか?
すべて展開/すべて折りたたむアイコンボタン/アイコンで、ユーザーがこのデザインの制限内で合理的に期待することを実行できるようにしたい。個別の行で発生することは、すべて展開/すべて折りたたみボタン(1つの例外を除く)には関係ないはずです。ユーザーが5行を折りたたんだ場合でも、collapse-allは機能するはずですが、既に折りたたまれているため、これらの5行に対しては何もする必要がありません。 1つの例外は、ユーザーが最後の行を手動で折りたたむ場合、他のすべてを折りたたんだ後、折りたたみ-すべてに注意して、すべて展開に切り替える必要があることです。
それで、この視覚的なレイアウトの制限内で、それは合理的なユーザーエクスペリエンスですか?
すべてを展開/折りたたむためにヘッダーのボタンを使用することを選択しました。
単一のボタンを使用することは、それがトグルボタンでなければならないことを意味します。あなたが主張したように、すべてのアイテムの状態を表すトグル(2つの状態)ボタンを持っていることはほとんど意味がありません-すべてのアイテムが同じ状態になるわけではない状態があります。
それに加えて、あなたはそれをアクションボタンにすることもできます-つまり、 state/action ambiguity に悩まされているということです。
したがって、これらすべての要件を1つのボタンに融合することは不可能です。正式な論理用語では、3つ以上の状態がありますが、それらを2つの状態にまとめるので、設計は非論理的です。
折りたたみ/展開ツリー/テーブルビューでは、これらは一般的なユーザーストーリーです。
ユーザーとして、次のことを行います。
これらはそれぞれ、次のユーザーアクションにマッピングされます。
可能であれば、2つの個別のボタンを使用することをお勧めします
投稿を参照してください: すべて展開/折りたたみ-結合または個別のボタン?