Selection scopes can be in either select mode or toggle mode. The mode determines whether identified elements are to be selected or deselected. When the user selects an item, and select mode is enabled, that item is selected and all other items are deselected. When the user selects an item and the toggle mode is enabled, the result of the selection depends on the current state of the item. If the selected item was already selected, it becomes deselected; otherwise it is selected. In other words, the state of the item is "toggled." This latter action may behave differently depending on the selection policies (refer to the Selection Policies reference page).
Toggle mode affects selections made with individual and group selection techniques. How the selections are affected depends on the current selection states of the elements. For example, when the user uses the point technique to select an individual list element that is not already selected, then that element is selected. However, if that element was already selected, then this selection action would deselect it.
How toggle mode affects selections made with group selection techniques depends on the existing selection state of all of the elements in the group. In toggle mode, when the user uses the range swipe technique to select a group of list elements that are not already selected, all the elements become selected. However, if all the elements were already selected, then this selection action would deselect those elements.
In summary, when a user uses one of the individual selection techniques to select an element, and that element is not yet selected, then the element becomes selected. However, if the user selects an element that is already selected, that element becomes deselected. When the user selects a group of elements, and all the elements in that group are already selected, they become deselected. When the user selects a group of elements, and all the elements in that group are not already selected, they become selected. When the user selects a group of elements, and some of the elements are already selected and some are not, then the resulting selection states depend on the toggle policy that is in place for that selection technique, as described in the Selection Policies reference page.
If a selection scope supports only select mode, a user cannot perform discontiguous selections by using the area or range techniques by default. This is because to make a discontiguous selection, toggle mode is needed. However, a user can access toggle mode by augmenting a selection technique with Ctrl when using a selection technique. For example, in a list in select mode, a user can use the range swipe technique to select an element, then press the Ctrl key and use the range swipe technique to add discontiguous elements, or use the Ctrl key to remove some elements.
Augmented toggling can also apply to advanced group techniques. For example, the user can double-click Ctrl SELECT on text to toggle the selection state of a word (using the multilevel selection technique).
The user must use Ctrl SELECT when accessing toggle mode. If the user does not, then Ctrl SELECT is active for focus-only navigation. In this case, Ctrl SELECT moves the cursor to either the element or to where the mouse button was pressed, without affecting the current selection.
The adjustment technique adjusts the selected region, depending on the selection mode last used for that scope. After using a selection technique in a mode that toggles elements, subsequent use of the adjustment technique changes the region of toggled elements. For example, in a list in select mode, a user can press Ctrl and use the range swipe technique to remove some selected elements, then use ADJUST click to enlarge the region of the removed elements.
After using augmented toggling (which is the act of holding down Ctrl to access toggle mode), the user can use either ADJUST or Ctrl ADJUST to adjust toggling.
Although a Ctrl SELECT click in the background does not toggle anything, subsequent adjustment techniques, such as ADJUST click, will use toggling and adjust the region to be toggled.
When choosing a selection mode that supports discontiguous selection, you can choose to provide either toggle mode or select mode with augmented toggling implemented as described in the previous section. When choosing between these two options, consider the following: