ksux / ks-design-guide

Live pattern library for Kuali Student.
http://ksux.github.io/ks-design-guide/
9 stars 1 forks source link

Select All interaction #12

Open basham opened 10 years ago

basham commented 10 years ago

The following describes the intended behavior for a checkbox called "Select All" affecting a collection of other checkbox items.

  1. Triggering "Select All" selects all items.
  2. Deselecting individual items deselects the "Select All" checkbox. It does not affect sibling items.
  3. Selecting "Select All" will continue to act as before. Any unselected items become selected.

The following Skype discussion explains rationale.

[11/27/13, 9:36:33 AM] Oliver Ng: An interaction question regarding the select all checkbox https://jira.kuali.org/browse/KSENROLL-10675

What do you think should happen in the scenario described in the JIRA? I've seen models like Gmail where the select all button offers more features in a drop down & updates based on selection.

Without having to implement a new behaviour, my thoughts is that the select all should be deselected.

[11/27/13, 9:38:35 AM] George Wendal: My feeling is that the Select All checkbox is used to control the selection of other checkboxes, not necessarily to reflect the status of what is currently selected. So the way I think it should work is:

[11/27/13, 9:39:46 AM] George Wendal:

  • Checking the select all checkbox selects all checkboxes
  • If the user unchecks some of the checkboxes, the select all checkbox remains checked
  • If the user unchecks the select all checkbox, all checkboxes below should become unchecked

[11/27/13, 11:00:22 AM] Tara Noelle Bazler: What I would expect is that if I sleet the 'select all', all items are selected. If I then go in and deselect individual item(s), the other items would remain selected but the 'select all' toggle would then be deselected since all items are no longer selected.

[11/27/13, 11:01:28 AM] Tara Noelle Bazler: ^select

[11/27/13, 11:06:01 AM] Kristol Hancock: i agree with Tara, i think that makes the most sense.

[11/27/13, 11:14:06 AM] Chris Basham: > - If the user unchecks some of the checkboxes, the select all checkbox remains checked

Your second point, George, seems like it would cause some confusion. Since the goal of the Select All checkbox is to select everything, then it should be oriented that way, such as how Tara suggests. If the intention of the checkbox was to encourage deselecting all the items, then something like as you suggested may be more sensible.

[11/27/13, 11:23:42 AM] George Wendal: As long as un-checking the select all checkbox unchecks all checkboxes, I'm onboard with Oliver/Tara/Kristol's approach. I just want to avoid a situation where the user checks the select all checkbox, then has no way to uncheck everything without manually going through the entire set of checkboxes.

If they have most, but not all checkboxes in a table checked, they could resolve that situation by checking the select all check box to check everything, then click it again to unselect everything.

[11/27/13, 11:25:37 AM] Tara Noelle Bazler: yes - that is what I would expect to happen. If they select the 'select all', then deselect a few individual items, the select all toggle would be deselected. selecting it again would select all items and the user would have to toggle again to deselect all.

[11/27/13, 11:26:28 AM] Oliver Ng: I agree with that approach as well. Thanks for the input everyone