Posted: 2009-05-17 07:55 Author: mdcurran Categories: GeneralNews Thanks to a grant from Microsoft to NV Access , I have 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. I have been working on this support since the start of this year and just a few days ago we decided that it was complete enough to be included in our main development branch for NVDA, which means that this support is now available to the public via the daily NVDA snapshots . We ask 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 we 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. They are: • The search field in Windows Explorer and the Start Menu. As this search control is no longer a standard Edit field like in previous Windows Operating Systems, it is necessary for NVDA to make use of the UI Automation text pattern in order to track the caret and access the text content. • Announcement of row and column info in the new Windows Explorer Items View. Unlike previous Windows Operating Systems, Windows 7's Windows Explorer uses a new Items View control to present the files and folders (replaces the older ListView? control). Although this control can be accessed pretty well just using MSAA, using UI Automation has the advantage of providing row and column information for any given item. This is not only useful when navigating multiple columns of files, but this is also useful if you choose to view your files in Details View, and you use the left and right arrow keys to navigate the fields of the item (date modified, size, type etc). This field navigation is a new feature that the Items View provides. • Reading basic XPS documents in XPS Viewer. XPS Viewer is an application that is included in Windows 7 which allows you to view XPS documents. XPS documents are yet another file format which tries to maintain actual presentation across systems and devices. To allow screen readers and other assistive technologies access to the document content, XPS viewer implements some support for UI Automation. NVDA of course makes use of this where it can, thus allowing users to navigate documents, using the NVDA review cursor. For now a more regular arrows-based mode of navigation in XPS Viewer is not possible as XPS Viewer does not allow you to move its caret (editing cursor), and we have not yet considered implementing any kind of fake cursering such as a cursor manager or virtual buffer. Note also that due to a bug in XPS Viewer, navigating by word or line navigates by paragraph. As this is definitly not suitable, we have made sure Microsoft is aware of this problem. Like support in NVDA for other APIs such as IAccessible2, our 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. Apart from direct support for UI Automation, I have also fixed up a few other bugs present with older versions of NVDA in Windows 7. • Stopping error sounds when moving around Windows Explorer and the Windows Shell (actually a bug in the Python Comtypes package we use). • Improve reporting of the alt+tab task list while the Windows Desktop Window Manager is enabled (NVDA now reports the same way it reports the older classic alt+tab task list). • Stop repeating the name of a control panel item twice. This is actually a reported Windows 7 bug where the name is duplicated in the description, and Microsoft is looking in to this. • Stop announcing typed characters twice in dos consoles. Also includes no longer announcing typed characters when they do not appear in the console (e.g. password entry). While working on this grant, we have reported many bugs we found in the Windows 7 public beta, up to the current Windows 7 RC. We are happy to say that Microsoft has taken all of these bugs on board, and most have been addressed. And the ones that have not be fixed, at least are being researched a bit more. Getting these bugs fixed not only helps NVDA, but we hope also any other assistive technologies that make use of the same features in Windows 7. Before reporting any bugs in NVDA to us to do with Windows 7, it may be useful to know about the following bugs either in NVDA or Windows 7, which you may run in to. • When using the mouse quite heavily, NVDA may loose its mouse hook, and therefore NVDA will no longer be able to track the mouse. Restarting NVDA will fix the problem temporarily. We need to investigate what is different about the Windows 7 hooking functionality to solve this. • When the system is quite busy and you try to use the keyboard, its possible that NVDA may loose its keyboard hook, and therefore you will no longer be able to control NVDA via the keyboard (includes NVDA commands, and shutting up speech etc). Killing NVDA from task manager and restarting it will fix the problem temporarily. We need to investigate what is different about the Windows 7 hooking functionality to solve this. • The new Windows 7 Calculator is not accessible with NVDA. We must together with Microsoft investigate this one further. The Microsoft grant not only covered UI Automation, but also Internet Explorer. We have slowly started improving our support for Internet Explorer, as we have been finnishing things up on the UI Automation support. I will not go in to much detail about Internet Explorer in this post, but I will say that so far we have managed to reimplement support in NVDA for basic static documents in Internet Explorer, so that load times have been improved by over 20 times, and the commands and feel now mirror NVDA's support for Mozilla Firefox. Support for dynamic content still has a long way to go, but we are making progress. regards, ruchir. -- As long as forever, I will stay by your side, I'll be your companion, Your friend and your guide!!! www.ruchir89.wordpress.com To unsubscribe send a message to [email protected] with the subject unsubscribe. To change your subscription to digest mode or make any other changes, please visit the list home page at http://accessindia.org.in/mailman/listinfo/accessindia_accessindia.org.in
