Already a subscriber?
MADCAD.com Free Trial
Sign up for a 3 day free trial to explore the MADCAD.com interface, PLUS access the
2009 International Building Code to see how it all works.
If you like to setup a quick demo, let us know at support@madcad.com
or +1 800.798.9296 and we will be happy to schedule a webinar for you.
Security check
Please login to your personal account to use this feature.
Please login to your authorized staff account to use this feature.
Are you sure you want to empty the cart?
PD ISO/IEC TR 13066-2:2012 Information technology. Interoperability with Assistive Technology (AT) - Windows accessibility application programming interface (API), 2013
- 1 Scope
- 2 Terms and definitions
- 3 General Description and Architecture of the Microsoft Windows Automation API [Go to Page]
- 3.1 General Description [Go to Page]
- 3.1.1 Microsoft Active Accessibility Overview [Go to Page]
- 3.1.1.1 Microsoft Active Accessibility Components
- 3.1.1.2 Oleacc.dll
- 3.1.1.3 Microsoft Active Accessibility Clients
- 3.1.1.4 Microsoft Active Accessibility Servers
- 3.1.2 UI Automation Overview [Go to Page]
- 3.1.2.1 UI Automation Components
- 3.1.2.2 UI Automation Model
- 3.1.3 The IAccessibleEx Interface
- 3.2 Architecture
- 4 Using the API [Go to Page]
- 4.1 Using the Microsoft Active Accessibility API [Go to Page]
- 4.1.1 Types of Microsoft Active Accessibility Support [Go to Page]
- 4.1.1.1 Native Microsoft Active Accessibility Implementation
- 4.1.1.2 Accessible Object Proxies
- 4.1.2 Retrieving an Accessible Object
- 4.1.3 The WM_GETOBJECT Message
- 4.1.4 Special values of Object Identifier [Go to Page]
- 4.1.4.1 Using the OBJID_NATIVEOM to expose a native object model interface
- 4.1.4.2 Using the OBJID_QUERYCLASSNAMEIDX to enable certain Oleacc proxy
- 4.2 Using the UI Automation API [Go to Page]
- 4.2.1 UI Automation Model
- 4.2.2 UI Automation Tree
- 4.2.3 UI Automation Control Patterns, Control Types, Properties, and Events [Go to Page]
- 4.2.3.1 UI Automation Control Patterns
- 4.2.3.2 UI Automation Control Types
- 4.2.3.3 UI Automation Properties
- 4.2.3.4 UI Automation Events
- 4.2.3.5 UI Automation Provider Interfaces
- 4.2.3.6 Custom UI Automation Properties, Control Patterns, and Events
- 4.3 Using the IAccessibleEx Interface [Go to Page]
- 4.3.1 The IAccessibleEx Interface Implementation [Go to Page]
- 4.3.1.1 Control Patterns: Overlap between Microsoft Active Accessibility and UI Automation
- 4.3.1.2 Properties: Overlap between Microsoft Active Accessibility and UI Automation
- 4.3.1.3 Events and the WM_GETOBJECT Message
- 5 Exposing User Interface Element Information [Go to Page]
- 5.1 Exposing UI Elements with Microsoft Active Accessibility [Go to Page]
- 5.1.1 How an MSAA Server Exposes Relevant Properties [Go to Page]
- 5.1.1.1 Required Properties
- 5.1.1.2 Optional Properties
- 5.1.1.3 The Accessible Object Role
- 5.1.2 Provide Support for the Accessible Object Structure [Go to Page]
- 5.1.2.1 The accParent Property of the IAccessible Interface
- 5.1.2.2 Exposing Children
- 5.1.2.3 The accNavigate Method of the IAccessible Interface
- 5.1.3 Support Hit Testing
- 5.1.4 Generate Appropriate WinEvents
- 5.1.5 Object Identifier
- 5.1.6 How MSAA Clients Access Exposed UI Elements
- 5.2 Exposing UI Elements with UI Automation [Go to Page]
- 5.2.1 Types of Providers
- 5.2.2 UI Automation Provider Concepts [Go to Page]
- 5.2.2.1 Elements
- 5.2.2.2 Navigation
- 5.2.2.3 Views
- 5.2.2.4 Frameworks
- 5.2.2.5 Fragments
- 5.2.2.6 Hosts
- 5.2.3 Provider Interfaces
- 5.2.4 Property Values
- 5.2.5 Provider Navigation
- 5.2.6 Provider Reparenting
- 5.2.7 Provider Repositioning
- 5.2.8 How UI Automation Clients Access Exposed UI Elements
- 6 Exposing User Interface Element Actions [Go to Page]
- 6.1 Exposing User Interface Element Actions in MSAA
- 6.2 Exposing User Interface Element Actions in UI Automation [Go to Page]
- 6.2.1 UI Automation Control Pattern Components
- 6.2.2 Control Patterns in Providers and Clients
- 6.2.3 Dynamic Control Patterns
- 6.2.4 Control Patterns and Related Interfaces
- 7 Keyboard Focus [Go to Page]
- 7.1 MSAA Keyboard Focus and Selection [Go to Page]
- 7.1.1 Focus and Selection Properties and Methods [Go to Page]
- 7.1.1.1 Selecting Child Objects
- 7.1.1.2 Performing Complex Selection Operations
- 7.1.2 Events Triggered in Menus
- 7.2 UI Automation Keyboard Focus and Selection [Go to Page]
- 7.2.1 Focus
- 7.2.2 Selection [Go to Page]
- 7.2.2.1 Item Selection
- 7.2.2.2 Text Selection [Go to Page]
- 7.2.2.2.1 UI Automation Text Pattern Overview [Go to Page]
- 7.2.2.2.1.1 Manipulating Text Using the TextRange Object
- 7.2.2.2.1.2 Manipulations of TextRange
- 7.2.2.2.1.3 Text Pattern, TextRange, and Embedded Objects
- 7.2.2.2.1.4 Text Pattern and Embedded Table Example
- 7.2.2.2.1.5 Text Pattern and Virtualized Embedded Objects
- 7.2.2.2.1.6 Leveraging ControlType.Custom in Text Pattern
- 7.2.2.2.1.7 Lifetime of TextRange Claimed
- 8 Events [Go to Page]
- 8.1 WinEvents [Go to Page]
- 8.1.1 USER's Role in WinEvents
- 8.1.2 Receiving Event Notifications
- 8.1.3 Sending Events
- 8.1.4 The Allocation of WinEvent IDs [Go to Page]
- 8.1.4.1.1 Microsoft Active Accessibility / UI Automation Events (System Reserved Events)
- 8.1.4.1.2 OEM Reserved Events
- 8.1.4.1.3 Community Reserved Events
- 8.1.4.1.4 ATOM (Runtime Reserved Events)
- 8.1.4.2 The Use of Reserves
- 8.2 UI Automation Events [Go to Page]
- 8.2.1 How Providers Raise Events
- 8.2.2 How Clients Register for and Process Events
- 9 Programmatic Modifications of States, Properties, Values and Text [Go to Page]
- 9.1 UI Automation Design Considerations [Go to Page]
- 9.1.1 Introduction
- 9.1.2 UI Automation Elements
- 9.1.3 UI Automation Tree
- 9.1.4 UI Automation Properties
- 9.1.5 UI Automation Control Patterns
- 9.1.6 UI Automation Control Types
- 9.1.7 UI Automation Events
- 10 Design Considerations [Go to Page]
- 10.1 UI Automation Design Considerations [Go to Page]
- 10.1.1 UI Automation Clients [Go to Page]
- 10.1.1.1 Find UI Automation Elements Based on a Property Condition
- 10.1.1.2 Navigate Among UI Automation Elements with TreeWalker
- 10.1.1.3 Get UI Automation Element Properties
- 10.1.1.4 Subscribe to UI Automation Events
- 10.1.1.5 Manipulate a Control by UI Automation
- 10.1.2 UI Automation Providers [Go to Page]
- 10.1.2.1 Implement Core Provider Interfaces
- 10.1.2.2 Expose a Server-side UI Automation Provider
- 10.1.2.3 Return Properties from a UI Automation Provider
- 10.1.2.4 Raise Events from a UI Automation Provider
- 10.1.2.5 Enable Navigation in a UI Automation Provider
- 10.1.2.6 Support Control Patterns in a UI Automation Provider
- 10.1.3 Co-existence and Interoperability with Microsoft Active Accessibility [Go to Page]
- 10.1.3.1 MSAA-to-UI-Automation Proxy
- 10.1.3.2 UI-Automation-to-MSAA Bridge
- 10.2 IAccessibleEx Design Considerations [Go to Page]
- 10.2.1 Design Consideration for Providers before Implementing the IAccessibleEx Interface
- 10.2.2 The IAccessibleEx Interface for Providers [Go to Page]
- 10.2.2.1 Implement the IServiceProvider interface
- 10.2.2.2 Implement the ChildId
- 10.2.2.3 Implement the IRawElementProviderSimple Interface
- 10.2.3 The IAccessibleEx Interface for Clients [Go to Page]
- 10.2.3.1 Obtain an IAccessibleEx Interface from the IAccessible Interface
- 10.2.3.2 Handle the ChildId
- 10.2.3.3 Obtain the IRawElementProviderSimple Interface [Go to Page]
- 10.2.3.3.1 Use Control Patterns
- 10.2.3.4 Obtain Property Values
- 10.2.3.5 Convert from the IRawElementProviderSimple Interface back to an IAccessible Interface
- 11 Further Information [Go to Page]
- 11.1 Microsoft Active Accessibility and Extensibility
- 11.2 UI Automation Extensibility Features [Go to Page]
- 11.2.1 The Registration of Custom UI Automation Properties, Events, and Control Patterns
- 11.2.2 How Clients and Providers Support Custom Control Patterns [Go to Page]