Many new features were added to the Microsoft UI Automation API for Windows 8. They fall into these categories:
- Support for Text-based Controls
- Support for Drag-and-Drop Elements
- Support for the System Caret
- Support for Live Regions
- Support for Windowless ActiveX Controls
- Support for Handling Unresponsive Applications
- New Provider Functions
- Miscellaneous New Client Methods
- Related topics
Support for Text-based Controls
Many new API elements were added to improve UI Automation support for text-based controls. Providers can use the new API elements to expose rich information about the content of text-based controls, and clients can access the rich information and use it to create a better experience for users of accessibility tools.
The following sections list the new UI Automation API elements for text-based controls.
Provider Interfaces
- IAnnotationProvider
- IObjectModelProvider
- ISpreadsheetProvider
- ISpreadsheetItemProvider
- IStylesProvider
- ITextChildProvider
- ITextProvider2
- ITransformProvider2
Client Interfaces
- IUIAutomationAnnotationPattern
- IUIAutomationObjectModelPattern
- IUIAutomationSpreadsheetPattern
- IUIAutomationSpreadsheetItemPattern
- IUIAutomationStylesPattern
- IUIAutomationTextChildPattern
- IUIAutomationTextPattern2
- IUIAutomationTransformPattern2
Automation Element Property Identifier
Control Pattern Identifiers
- UIA_AnnotationPatternId
- UIA_ObjectModelPatternId
- UIA_SpreadsheetPatternId
- UIA_SpreadsheetItemPatternId
- UIA_StylesPatternId
- UIA_TextChildPatternId
- UIA_TextPattern2Id
- UIA_TransformPattern2Id
Control Type Identifiers
Control Pattern Availability Property Identifiers
- UIA_IsAnnotationPatternAvailablePropertyId
- UIA_IsObjectModelPatternAvailablePropertyId
- UIA_IsSpreadsheetPatternAvailablePropertyId
- UIA_IsSpreadsheetItemPatternAvailablePropertyId
- UIA_IsStylesPatternAvailablePropertyId
- UIA_IsTextChildPatternAvailablePropertyId
- UIA_IsTextPattern2AvailablePropertyId
- UIA_IsTransformPattern2AvailablePropertyId
Control Pattern Property Identifiers
- UIA_AnnotationAnnotationTypeIdPropertyId
- UIA_AnnotationAnnotationTypeNamePropertyId
- UIA_AnnotationAuthorPropertyId
- UIA_AnnotationDateTimePropertyId
- UIA_AnnotationTargetPropertyId
- UIA_SpreadsheetItemFormulaPropertyId
- UIA_SpreadsheetItemAnnotationObjectsPropertyId
- UIA_SpreadsheetItemAnnotationTypesPropertyId
- UIA_StylesExtendedPropertiesPropertyId
- UIA_StylesFillColorPropertyId
- UIA_StylesFillPatternColorPropertyId
- UIA_StylesFillPatternStylePropertyId
- UIA_StylesShapePropertyId
- UIA_StylesStyleIdPropertyId
- UIA_StylesStyleNamePropertyId
- UIA_Transform2CanZoomPropertyId
- UIA_Transform2ZoomLevelPropertyId
- UIA_Transform2ZoomMaximumPropertyId
- UIA_Transform2ZoomMinimumPropertyId
Annotation Type Identifiers
- AnnotationType_Comment
- AnnotationType_Footer
- AnnotationType_FormulaError
- AnnotationType_GrammarError
- AnnotationType_Header
- AnnotationType_Footer
- AnnotationType_TrackChanges
- AnnotationType_Unknown
Text Attribute Identifiers
- UIA_AnnotationObjectsAttributeId
- UIA_AnnotationTypesAttributeId
- UIA_CaretBidiModeAttributeId
- UIA_CaretPositionAttributeId
- UIA_LinkAttributeId
- UIA_StyleIdAttributeId
- UIA_StyleNameAttributeId
Style Identifiers
- UIA_AnnotationObjectsAttributeId
- UIA_AnnotationTypesAttributeId
- UIA_LinkAttributeId
- UIA_StyleIdAttributeId
- UIA_StyleNameAttributeId
For information about how to implement and use the new API elements that support text-based controls, see these topics:
- Annotation Control Pattern
- ObjectModel Control Pattern
- Spreadsheet Control Pattern
- SpreadsheetItem Control Pattern
- Styles Control Pattern
- Control-specific Object Model
- Retrieving Annotations
- Retrieving Visual Styles
- Accessing Spreadsheet Content
Support for Drag-and-Drop Elements
These new API elements expose information about elements that can be dragged as part of a drag-and-drop operation, and elements that can be the drop target of a drag-and-drop operation:
Drag-and-Drop Interfaces
Drag-and-Drop Control Pattern Identifiers
Drag-and-Drop Control Pattern Availability Property Identifiers
Drag-and-Drop Control Pattern Property Identifiers
- UIA_DragIsGrabbedPropertyId
- UIA_DragDropEffectPropertyId
- UIA_DragDropEffectsPropertyId
- UIA_DragGrabbedItemsPropertyId
- UIA_DropTargetDropTargetEffectPropertyId
- UIA_DropTargetDropTargetEffectsPropertyId
Drag-and-Drop Event Identifiers
- UIA_Drag_DragStartEventId
- UIA_Drag_DragCancelEventId
- UIA_Drag_DragCompleteEventId
- UIA_DropTarget_DragEnterEventId
- UIA_DropTarget_DragLeaveEventId
- UIA_DropTarget_DroppedEventId
Support for the System Caret
These new API elements support exposing information about the system caret:
- CaretBidiMode enumeration
- CaretPosition enumeration
- ITextProvider2::GetCaretRange method
- IUIAutomationTextPattern2::GetCaretRange method
- UIA_CaretBidiModeAttributeId attribute identifier
- UIA_CaretPositionAttributeId attribute identifier
Support for Live Regions
These new API elements support exposing information about Accessible Rich Internet Applications (ARIA) live regions:
- EVENT_OBJECT_LIVEREGIONCHANGED structure
- IUIAutomationElement2::CachedLiveSetting property
- IUIAutomationElement2::CurrentLiveSetting property
- UIA_LiveRegionChangedEventId event identifier
- UIA_LiveSettingPropertyId property identifier
Support for Windowless ActiveX Controls
Windows 8 includes these new Windows Accessibility API interfaces that simplify the task of implementing accessibility for windowless Microsoft ActiveX controls:
- IAccessibleHostingElementProviders
- IAccessibleWindowlessSite
- IRawElementProviderHostingAccessibles
- IRawElementProviderWindowlessSite
For more information, see Windowless ActiveX Control Accessibility.
Support for Handling Unresponsive Applications
These new properties enable a UI Automation client application to better detect and respond to an unresponsive provider:
New Provider Functions
These new UI Automation provider functions were added in Windows 8:
- UiaDisconnectAllProviders
- UiaDisconnectProvider
- UiaIAccessibleFromProvider
- UiaProviderForNonClient
- UiaProviderFromIAccessible
Miscellaneous New Client Methods
These new UI Automation client methods were added in Windows 8.
- IUIAutomation2::AutoSetFocus method
- IUIAutomationElement2CachedOptimizeForVisualContent property
- IUIAutomationElement2CurrentOptimizeForVisualContent property
Related topics
Send comments about this topic to Microsoft
Build date: 11/28/2012