NonVisual Desktop Access (NVDA) was created by Michael Curran and is a free and open-source screen reader for Windows. It enables blind and vision impaired people to use their computers at no additional cost than the computer and Operating System itself. Started in April 2006, it has grown to become quite usable as a day-to-day screen reader, enabling the user to do most tasks. It is not as stable or as bug-free as some of the commercial screen readers, but since December 2006 the creator has been able to use NVDA full-time as his primary screen reader, finally giving up his original commercial product.
Providing feedback by synthetic speech, NVDA allows the user to access and interact with all parts of the Windows operating system, such as:
- Browsing the web (with Internet Explorer)
- Reading and writing documents with programs such as Wordpad or Microsoft Word
- Sending and receiving email with Outlook Express
- Using command-line programs in Dos windows
- Producing basic spreadsheets in Microsoft Excel
- General computer management through My Computer / Windows Explorer, Control Panel applets, and other generic Windows tasks
Because NVDA is open-source, it is important that access be given to other open-source programs. NVDA Currently works with Miranda Instant Messenger, and has very extensive support for Mozilla Firefox. Although not open-source, NVDA also works quite well with the latest version of Skype; though you might want to remember to turn on the accessible menus by pressing alt, then v, then a, then s, while in the Skype main window.
NVDA is built with a modular design. Much of its code can easily be extended to support new programs and or controls in Windows. App Modules can be written to add over all support for a specific application, virtual buffers can be written to allow NVDA to display complex documents or other data, and NVDA Objects can be written to add support for specific controls or Windows. NVDA always tries to make controls and elements of a program or Operating System as accessible as possible, so that the user can actively seek any information they require. NVDA is not so concerned with special features such as filtering and announcing particular information it thinks the user may want to know.
NVDA is not restricted by a need to follow market trends and demands. Commercial screen readers implement really good features, but sometimes this is biased by what the market wants, rather than what will be really useful for the user. NVDA may not be always as stable as other screen readers, but it can certainly act as an experimental and testing tool. It can easily and quickly test new ideas and features perhaps not seen in other screen readers for the Windows Operating System. An example of this is NVDA's ability to use beeps to communicate to the user that a progress bar is moving. The higher the beep, the closer the progress bar is to the end. People have added this feature in to other screen readers through custom scripts and the like, but it has never been officially adopted completely in to the core of any other Windows screen reader.
NVDA uses the Sapi5 speech engine to provide speech output. All copies of Windows XP and Windows Vista have at least one Sapi5 voice already, though you can easily find many other free or commercial voices around the Internet. A very clear and responsive Sapi5 voice that is both free and open-source is called ESpeak. You can download it from the ESpeak home page: http://espeak.sourceforge.net.
To communicate with the Operating System and programs, NVDA uses a mix of Operating System functions, Microsoft Active Accessibility (MSAA), and specific programming interfaces provided by certain applications. NVDA does not use any special Video Intercept drivers or display hooks, and will always try to gain as much information from Accessibility specific interfaces as possible, before resorting to other means. The advantages of this are that access should not be hindered by certain system settings such as colour schemes etc, and it means that no special drivers need to be installed in order to run NVDA. (NVDA has been tested with success to run off a USB key / Thumb Drive). The disadvantage to this is that NVDA may not work straight out of the box for some applications that choose not to follow accessibility guidelines or use standard controls.
Click this link to learn more or to download NVDA, NonVisual Desktop Access from its website: http://www.nvda-project.org.
NVDA Snapshot Downloader
NVDASD is a utility for downloading the most recent version of NVDA quickly. This can come in handy when you want to get the most out of nvda (by downloading the latest snapshot as soon as it is released) but need a fast solution to do the downloading for you.
Click this link to learn more or to download the NVDA Snapshot Downloader.