Download presentation
Presentation is loading. Please wait.
Published bySandra Greene Modified over 9 years ago
1
Michael Bernstein Principal Software Design Engineer Microsoft Corporation
2
Accessibility Programmatic Access 2
3
3 UI Automation Core MSAA UIA Managed Client API UIA Provider API UIA COM Client API
6
Context: Clients and Providers Client-side API (C# or C++) Client Provider UIA Infrastructure UIA Provider-side interface definitions (C# or C++) Test Automation and Assistive Technology Manufacturers Application and Control Developers
7
TAKING ADVANTAGE OF THE NEW COM CLIENT API Client Provider UIA
8
SAMPLE: Querying a window’s password status CComPtr spAutomation; CComPtr spElement; HRESULT hr; hr = spAutomation.CoCreateInstance(CLSID_CUIAutomation); if (SUCCEEDED(hr)) { hr = spAutomation->GetFocusedElement(&spElement); if (SUCCEEDED(hr)) { BOOL isPassword; spElement->get_CurrentIsPassword(&isPassword); }
9
Automation Elements
10
Basic Properties UIA Control Type UI FrameworkFramework Specific Property UI Automation Property ButtonWindows Presentation Foundation ContentNameProperty ButtonWin32CaptionNameProperty ImageTrident/HTMLALTNameProperty
12
Control Patterns ComboBoxSimple Expand Collapse Value
13
Find Requests
14
Visiting the Relatives: TreeWalker List View ListItem1ListItem2Scroll Bar Up button Down button A sample control tree:
15
15
17
Accelerate your access: CacheRequests Define Create a request and add entries for properties and patterns you want cached Define filter and scope for caching Query Call the element’s BuildUpdatedCache method or “…BuildCache” methods A new copy with cached data is returned in one chunk Use Use ‘Cached’ flavor of property accessors to read cached data or patterns Children can be cached as well
19
Client Provider UIA
22
Client Provider UIA
25
ComboBox Simple ExpandCollapse Invoke Table Text Toggle Value Virtualized
26
http://msdn.microsoft.com/en-us/accessibility/cc307849.aspx
28
Client Provider UIA Custom data
29
Client Provider UIA Custom Proxy Non-UIA channel
32
What about managed clients? UI Automation Core UIA Managed Client API UIA Provider API UIA COM Client API Your Client Code; TlbImport Wrapper
33
Managed client option #2: Use the existing managed library UI Automation Core UIA Managed Client API UIA Provider API UIA COM Client API Your Client Code
35
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.