Export (0) Print
Expand All

Spinner Control Type

This topic provides information about Microsoft UI Automation support for the Spinner control type.

Spinner controls are used to select from a domain of items or a range of numbers.

The following sections define the required UI Automation tree structure, properties, control patterns, and events for the Spinner control type. The UI Automation requirements apply to all spinner controls where the UI framework/platform integrates UI Automation support for control types and control patterns.

This topic contains the following sections.

Typical Tree Structure

The following table depicts a typical control and content view of the UI Automation tree that pertain to spinner controls when they support the RangeValue and Selection control patterns and describes what can be contained in each view. For more information about the UI Automation tree, see UI Automation Tree Overview.

RangeValue control pattern

Control ViewContent View
  • Spinner
    • Edit (0 or 1)
    • Button (2)
  • Spinner

 

Selection control pattern

Control ViewContent View
  • Spinner
    • Edit (0 or 1)
    • Button (2)
    • List Item (0 or more)
  • Spinner
    • ListItem (0 or more)

 

To ensure that the two buttons in the control view subtree can be distinguished by automated test tools, assign the ScrollAmount_SmallIncrement or ScrollAmount_SmallDecrement value to the AutomationId property as appropriate. For some implementations, the associated edit control may be a peer of the spinner control.

Relevant Properties

The following table lists the UI Automation properties whose value or definition is especially relevant to spinner controls. For more information about UI Automation properties, see Retrieving Properties from UI Automation Elements.

UI Automation PropertyValueNotes
UIA_AutomationIdPropertyIdSee notes.The value of this property must be unique among all peer elements in the raw view of the UI Automation tree.
UIA_BoundingRectanglePropertyIdSee notes.The outermost rectangle that contains the whole control.
UIA_ClickablePointPropertyIdSee notes.The spinner control's clickable point gives focus to the edit portion of the control.
UIA_ControlTypePropertyIdSpinnerThis value is the same for all frameworks.
UIA_IsContentElementPropertyIdTRUEThe spinner control must always be content.
UIA_IsControlElementPropertyIdTRUEThe spinner control must always be a control.
UIA_IsKeyboardFocusablePropertyIdSee notes.If the control can receive keyboard focus, it must support this property. A spinner control rarely takes the focus, but when it does, the focus should remain on the spinner control itself, not on the child buttons. The user should be able to perform all scrolling actions by using the UP ARROW and DOWN ARROW keys.
UIA_LabeledByPropertyIdSee notes.Spinner controls have a static text label.
UIA_LocalizedControlTypePropertyIdSee notes.Localized string corresponding to the Spinner control type. The default value is "spinner" for en-US or English (United States).
UIA_NamePropertyIdSee notes.The spinner control typically gets its name from a static text label.

 

Required Control Patterns

The following table lists the UI Automation control patterns required to be supported by all spinner controls. For more information on control patterns, see UI Automation Control Patterns Overview.

Control Pattern/Pattern PropertySupport/ValueNotes
IRangeValueProvider DependsSpinner controls that span a numeric range can support the RangeValue control pattern.
ISelectionProvider DependsSpinner controls that have a list of items to be selected must support the Selection control pattern.
CanSelectMultiple FALSESpinner controls are always single selection containers.
IValueProvider DependsSpinner controls that span a descrete set of options or numbers can support the Value control pattern.

 

Required Events

The following table lists the UI Automation events that spinner controls are required to support. For more information on events, see UI Automation Events Overview.

UI Automation EventNotes
UIA_AutomationFocusChangedEventId
UIA_BoundingRectanglePropertyId property-changed event.
UIA_IsEnabledPropertyId property-changed event.If the control supports the IsEnabled property, it must support this event.
UIA_IsOffscreenPropertyId property-changed event.If the control supports the IsOffscreen property, it must support this event.
UIA_RangeValueValuePropertyId property-changed event.If the control supports the RangeValue control pattern, it must support this event.
UIA_Selection_InvalidatedEventId property-changed event.If the control supports the Selection control pattern, it must support this event.
UIA_StructureChangedEventId
UIA_ValueValuePropertyId property-changed event.If the control supports the Value control pattern, it must support this event.

 

Related topics

Conceptual
UI Automation Control Types Overview
UI Automation Overview

 

 

Community Additions

ADD
Show:
© 2015 Microsoft