Selection is the primary means by which the user identifies objects in the interface. Consequently, the basic model for selection is one of the most important aspects of the interface.
Selection typically involves an overt action by the user to identify an object. This is known as an explicit selection. Once the object is selected, the user can specify an action for the object.
There are also situations where the identification of an object can be derived by inference or implied by context. An implicit selection works most effectively where the association of object and action is simple and visible. For example, when the user drags a scroll box, the user establishes selection of the scroll box and the action of moving at the same time. Implicit selection may result from the relationships of a particular object. For example, selecting a character in a text document may implicitly select the paragraph of which the character is a part.
A selection can consist of a single object or multiple objects. Multiple selections can be contiguous — where the selection set is made up of objects that are logically adjacent to each other, also known as a range selection. A disjoint selection set is made up of objects that are spatially or logically separated.
Multiple selections may also be classified as homogeneous or heterogeneous, depending on the type or properties of the selected objects. Even a homogeneous selection might have certain aspects in which it is heterogeneous. For example, a text selection that includes bold and italic text can be considered homogeneous with respect to the basic object type (characters), but heterogeneous with respect to the values of its font properties. The homogeneity or heterogeneity of a selection affects the access of the operations or properties of the objects in the selection.