To ensure successful transition to Windows 7 for our Accessibility ecosystem partners, we’re announcing the release of the Platform Update for Windows Vista which will be available in the Fall of 2009. For detailed installation instructions, please review the KB article.
The Platform Update contains Windows 7 features that are being brought to existing platforms to enable adoption of technologies by Windows partners. It contains the latest version of the Windows Automation API provided in Windows 7 which now supports Windows XP (x86), Windows Server 2003 (x86 and amd64), Windows Vista (x86 and amd64) and Windows Server 2008 (x86 and amd64). The Platform Update enables smoother transition and better performance for companies who adopt UI Automation (UIA) across the versions of Windows.
Once the Automation API dll’s are installed on client machines, companies can code against the new unmanaged / native COM UIA Client API (described in the SDK) for instance.
This beta is not available for Windows XP and Windows Server 2003.
For more information, see the KB article at:
This is called as "Windows Automation API 3.0" because it isn’t really just UI Automation (UIA) or Microsoft Active Accessibility (MSAA) anymore. It is a combination of both new and old technologies. For instance, the Dynamic Annotation API is no longer unique to MSAA Servers – it can be used by these applications to add support or annotate UI Automation properties. The IAccessibleEx interface bridges two worlds together in a very organic way. New LegacyIAccessible Control Pattern and the new UIA Client API (i.e., ElementFromIAccessible) function enable jumping between UIA and MSAA object models.
When we talk about technologies specifics, we continue to use 'UI Automation (UIA)' or 'Microsoft Active Accessibility (MSAA)'. Windows Automation API is used when we talk about collections of technologies or the Windows specific frameworks.
We set the version of Windows Automation API to 3.0 in order to respect the previous MSAA version number as well as the generations of new UI Automation implementations in Windows.
The following lists the common features from Windows Automation API 3.0:
· New Unmanaged / Native COM Client API
§ The New Unmanaged / Native COM Client API enables UIA Client applications in native code. While previously applications (UIA Providers) have had the flexibility of either being managed or unmanaged, now the flexibility is brought to the UIA Client side.
· New MSAA-to-UIA Proxy & New Win32 Proxies for Common and USER Controls
§ The New MSAA-to-UIA Proxy (the compatibility layer for MSAA servers) and Win32 Proxies are built into the native core component of Windows Automation API (UIAutomationCore.dll and OLEACC.dll). They are considerably faster than its previous (managed) versions implemented as the default client side provider assembly. The new MSAA-to-UIA Proxy supports classic MSAA Servers as well as IAccessibleEx enabled UIA implementations, giving more flexibility on the UIA Provider side.
· New Proxy Factory Interfaces
§ The New Proxy Factory Interface enables UIA Clients to configure proxies by specific scenarios and priorities. For example, win32 List View proxy can offer three different mode depending on the interests of the clients; i.e., full object model, partial model for performance, and legacy MSAA compatible modes.
· Updated Dynamic Annotation for UIA
§ Leveraging the common proxy infrastructure, Dynamic Annotation is now available for UIA properties in addition to existing MSAA property support.
· New interoperability between MSAA and UIA
§ The New interoperability between MSAA and UIA enable client application to jump between MSAA and UIA object trees. This is done by introducing new control pattern (LegacyIAccessible Control Pattern) and a new client function such as ElementFromIAccessible. Windows Speech Recognition uses the new pattern to gain access to MSAA properties while it enjoys performance benefit of UIA.
· New Control Patterns, Events and Properties
§ The New Control Patterns and Automation Element Properties include ItemContainer and VirtualizedItem Control Patterns for virtualized controls such as new ItemsView control found in Windows 7 Explorer and Start menu. The AriaRole and AriaProperties properties are introduced in support of W3C Accessible Rich Internet Application (ARIA) specifications. All new specifications are publicly documented in the Windows SDK as well as in the Community Promise Specifications.
· Updated UIA-to-MSAA Bridge
§ The updated UIA-to-MSAA Bridge (the compatibility layer for MSAA clients) now features IAccessibleEx for native UIA applications. This enables in-proc MSAA clients to access native UIA provider interfaces directly via the bridge support.
Windows Automation API 3.0 involves three OS core binaries; (1) UIAutomationCore.dll, (2) OLEACC.dll, and (3) OLEACCRC.dll. In addition to these DLLs, you may see additional resource files (e.g., *.mui) depending on your desktop UI language.
MSAAText.dll is officially deprecated starting with Windows 7. While the DLL is still included in the latest Windows release, the MSAAText.dll won’t be included in Windows Automation API. Moving forward, please refer to Text Services Framework interfaces directly rather than going though MSAA Text API.
OLEACC.dll has been included with the OS for years as a system DLL for the MSAA API. Now it also provides some functionality for UI Automation – providers for some of the Win32 Common Controls, for example. (Some more complex UIA proxies, such as the MSAA-to-UIA Proxy, are included in UIAutomationCore.dll.)
The Platform Update for Windows Vista will be delivered to customers running XP SP3, Server 2003 SP2, Vista SP2 or Server 2008 SP2 via Windows Update as a Recommended Update (this beta doesn’t support Windows XP or Windows Server 2003 however). Most customers have automatic update enabled and will receive the Platform Update for Windows Vista automatically. 3rd party installers can use Windows Update API to detect and install the Platform Update for Windows Vista or its specific subcomponents such as the Windows Automation API 3.0. For users in a corporate environment or with limited network access, the Windows Automation API will be provided on the Microsoft Download Center so that they can be distributed to machines that cannot use Windows Update.
In Q4 2009 we plan to release the final version of the Windows Automation API through the Platform Update for Windows Vista. When it is released we will email you more details.
If you have any further questions, please let us know!
The Windows 7 Team