What's New in UI Automation?

Many new features were added to the Microsoft UI Automation API for Windows 8 and Windows 8.1. They fall into these categories:

  • Support for Text-based Controls
    • Provider Interfaces
    • Client Interfaces
    • Control Pattern Identifiers
    • Control Pattern Availability Property Identifiers
    • Control Pattern Property Identifiers
    • Annotation Type Identifiers
    • Text Attribute and Style Identifiers
  • Support for Drag-and-Drop Elements
    • 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
    • Drag-and-Drop Event Identifiers
  • Support for the System Caret
  • Support for Live Regions
  • Support for Windowless ActiveX Controls
  • Support for Handling Unresponsive Applications
  • Provider Functions
  • Miscellaneous Identifiers
  • Miscellaneous Client APIs
  • Support for the TextEdit Control Pattern
  • Showing Context Menus
  • Related topics

Here are the UI Automation API elements that are available starting with Windows 8 or Windows 8.1.

Support for Text-based Controls

For Windows 8, many 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.

Provider Interfaces

Client Interfaces

Control Pattern Identifiers

Control Pattern Availability Property Identifiers

Control Pattern Property Identifiers

Annotation Type Identifiers

Text Attribute and Style Identifiers

For information about how to implement and use the new API elements that support text-based controls, see these topics:

Support for Drag-and-Drop Elements

These Windows 8 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

Drag-and-Drop Event Identifiers

Support for the System Caret

These Windows 8 API elements support exposing information about the system caret:

Support for Live Regions

These Windows 8 API elements support exposing information about Accessible Rich Internet Applications (ARIA) live regions:

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:

For more information, see Windowless ActiveX Control Accessibility.

Support for Handling Unresponsive Applications

These Windows 8 APIs enable a UI Automation client application to better detect and respond to an unresponsive provider:

Provider Functions

These UI Automation provider functions were added in Windows 8:

Miscellaneous Identifiers

Miscellaneous Client APIs

These UI Automation client APIs were added in Windows 8:

These UI Automation client APIs were added in Windows 8.1:

Support for the TextEdit Control Pattern

The TextEdit control pattern is added in Windows 8.1. The pattern is related to the Text and TextRange patterns and supports the ability to expose programmatic text-edit actions to UI Automation.

Provider interface: ITextEditProvider

Client interface: IUIAutomationTextEditPattern

Control pattern identifier: UIA_TextEditPatternId

Pattern availability property identifier: UIA_IsTextEditPatternAvailablePropertyId

Supporting API: UiaRaiseTextEditTextChangedEvent provider function, TextEditChangeType enumeration.

Showing Context Menus

In Windows 8.1 methods are added that can invoke the context menus that are owned by an element, or that are associated with a text range.

For providers: ITextRangeProvider2::ShowContextMenu method and IRawElementProviderSimple2::ShowContextMenu method.

For clients: IUIAutomation3::ShowContextMenu method and IUIAutomationTextRange2::ShowContextMenu method.

UI Automation

UI Automation Provider Programmer's Guide