NVDA updated for Windows 8 release

The open-source screen reader has seen some major improvements in order for it to be compatible with Microsoft's new Windows 8 operating system.

NV Access, the developers of Non-Visual Desktop Access (NVDA) first got a look at Microsoft's new operating system (OS) when the Developer Preview was released in September 2011. Despite being an early software release with much still to be done before its commercial release, most of the concepts were already in place which gave them a clear idea of how to make the screen reader work with the new OS.

In the past, users have been able to interact with NVDA via keyboard and mouse. Although Windows 7 had some support for touchscreens, assistive technologies such as screen readers were unable to make use of this, as there was no mechanism in the operating system for directly taking over input from this medium.

To provide a useful and practical experience, it's important that a screen reader can process all input from a touchscreen and provide a somewhat modified means of interaction. For example, tapping or dragging your finger should simply read the control or text under your finger, rather than activating or modifying the content.

As Windows 8 focuses much more closely on the experience with touch, Microsoft has now ensured that assistive technologies can fully process touch input, and therefore provide a suitable touch experience for blind users if preferable. NV Access has added modifications to NVDA to allow it to receive input from a touchscreen that allows the user to not only read what is on the screen simply by tapping or dragging their finger, but also to activate other NVDA-specific commands or move around the operating system by object navigation.

Specific development work included:

  • Writing code to process raw touch data in order to detect the gestures the user is performing.
  • Mapping particular touch gestures with new or existing NVDA commands.
  • Designing and coding an abstract means of exploring the screen as a flat model for use with touch, potentially replacing older mouse-handling code

Compared to previous versions of the operating system, there isn't too much difference in the way a user would interact with the Metro or Desktop interface when using touch. In both cases, the user can touch anywhere on the screen to find out the control or text at that point, or they can flick left, right, up or down to move around the application or operating system by object in a tree-like structure. This interaction model is very similar to the experience with VoiceOver on iOS devices or Windows 8's built-in screen reader, Narrator.

The biggest difference in how NVDA works with previous versions of Windows is the support for touchscreens. However, taking in to account the general changes that will affect both sighted and blind or vision impaired users — no matter what screen reader they use — features such as the new Start Screen which replaces the traditional Start Menu, and the introduction of Metro-style apps (which are full-screen and hide the rest of the Desktop) may take a little getting used to. However, it's still possible to run any program you would have on Windows XP or 7, usually with no change to the overall user experience.

NV Access found that the coding support for touchscreens was quite straight-forward, but did take time. Coding support for Metro-style apps however was extremely difficult due to major changes to security in the new operating system. Although most of the desktop and third-party programs read okay when first tested with NVDA on the Windows 8 Developer Preview, where NVDA really broke was while running a Metro-style app. NVDA was unable to provide a browse mode for web documents or announce typed characters, and possibly many other things users would take for granted. To solve this, it was necessary for NV Access to rewrite a significant part of their C++ code to come up with a design that much better handled the security restrictions placed on Metro-style apps so that these particular features could remain. Microsoft was very cooperative in answering questions during NV Access's development process.

If a user owns a tablet PC with no keyboard or a touchscreen, and chooses to use it as a primary form of input, then there will be several touch gestures they must become familiar with in order to interact with NVDA and the rest of the operating system. As previously stated, the Start Screen may also take a little getting used to, but more so only because it's different, not because it's inaccessible.

Michael Curren of NV Access told Access iQ™, "I don't think that the introduction of touchscreens for the blind would have a negative impact on web accessibility or indeed require major change. However, this technology is only new."

"I don't believe that people will actively seek to use touchscreen as a primary form of input on Windows 8. Although it has proven very successful on Apple's iOS, Windows 8 is much more complex in its overall layout and only time will tell if primarily using touch with Windows 8 is indeed an efficient task. However, NV Access has ensured a basic level of support for touch in NVDA for two reasons — there will be tablet PCs sold with Windows 8 on them, that will not come with, or be designed for, a keyboard. We wish to make sure that NVDA can be used in these situations

In general, touch offers an exciting new paradigm for blind people which should be greatly explored. We believe that access to maps, diagrams and other topological information could be made accessible with the help of touch. Basic support in Windows 8 is just a stepping stone towards these goals."