NV Access has been able to implement support in NVDA for Microsoft’s unmanaged UI Automation client API found in the up and coming Windows 7 Operating System. NV Access developers have been working on this support since the start of this year and just a few days ago decided that it was complete enough to be included in the main development branch for NVDA, which means that this support is now available to the public via the daily NVDA snapshots.
NV Access is asking that any NVDA users that have access to the Windows 7 Release Candidate please try out an NVDA snapshot on Windows 7, and provide feedback, so that they can continue to improve and tidy up support for Windows 7, before both the next version of NVDA, and the Windows 7 Operating System, are released officially.
From a user point of view, there are a few specific situations where having UI Automation support in NVDA improves usability in Windows 7. Such as:
Like support in NVDA for other APIs such as IAccessible2, NV Access’ support for UI Automation is not locked down to any specific control or application. This means that if any application in Windows 7, or even a third party application correctly implements UI Automation natively, NVDA will make use of it. When using NVDA with Windows 7, it is most likely that you will come in to contact with UI Automation in many more situations than the ones listed above. However, as UI Automation is rather new in the Windows Operating System, it is likely that most support you will get will closely mirror what you would get with pure MSAA (I.E. using an older non-UIAutomation version of NVDA will probably provide the same access). When running in Windows 7, NVDA still must in many situations make use of either MSAA, or other native win32 APIs in order to provide suitable access to the Operating System. We definitly do look forward to future Windows releases where UI Automation may be implemented more fully through out the Operating System more widely, providing one simple way of gaining access to all controls, including standard Edit and RichEdit fields.