I'm looking for guidelines for mouse click selection behavior, especially for discontiguous objects. (That is, for a view of objects in arbitrary, unordered locations.) For ordered collections of objects, such a list of items, we have:
- Click: select this and deselect others
- Shift-Click: extend/shrink anchored selection to include this and all in between
- Ctrl-Click: toggle selection of this without affecting others
However, I haven't seen much discussion for discontiguous sets and some of it doesn't agree with practice.
For instance, MSDN says
Shift single left-click: For selectable objects, contiguously extends the selection. Otherwise, same as single left-click with possible modifications. For example, in Paint, drawing an oval with the Shift key modifier results in drawing a circle.
Ctrl single left-click: For selectable objects, extends the selection by toggling the selection state of the clicked item without affecting the selection of other objects (therefore allowing selection that isn't contiguous). Otherwise, same as single left-click.
Yet Microsoft products I've tried (PowerPoint is simplest) actually treat Shift-click as a toggle.
The original Mac UI Guidelines also suggest Shift is the same as Control (Command) for unordered sets.
In graphics applications, objects aren't usually considered to be in any particular sequence. ... If the user holds down the Shift key and selects one or more objects that are already highlighted, the objects are removed from the selection or are deselected.
... If one of the pieces selected with Command-click is already within an existing part of the selection, then instead of being added to the selection, it’s removed from the selection.
Mac OS X Finder exhibits this behavior when selecting items on the desktop.
Questions (In the interest of only one question per Question, consider only the first question as the real question):
It seems odd (as in inefficient) that Shift and Control (Command) behave exactly the same. Is that by intentional design based on research or some accidental legacy standard?
Is there some subtle difference I'm missing between Shift and Control clicking for selection in an unordered collection?
Are there guidelines/precedence for other selection behaviors? For instance, a modifier combination which always adds to selection or one that always removes (mainly useful for click-and-drag rectangle selection over objects of mixed selection states)? I'm told Adobe uses Alt-click for the always-remove behavior, but I can't confirm it.
Are there guidelines/precedence for Alt-click and Control-Shift-click? The above mentioned MSDN doc say don't use them, but surely high-end apps have found them useful.
EDIT: My current rationalization for why the de facto standard includes redundancy is that such views are so rare in most applications that simplicity is more important than expressiveness. In that light, I'm looking for how a specialized application where such views are very common should behave.