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

Reply via email to