About NVDA
General Features
Providing feedback by synthetic speech, NVDA allows blind and vision impaired people to access and interact with the Windows operating system and many third party applications.
Major highlights include:
- Ability to run entirely from a USB stick or other portable media without the need for installation
- Browsing the web with Mozilla Firefox 3
- Easy to use talking installer
- Working with email using Mozilla Thunderbird 3
- Early support for Microsoft Internet Explorer
- Basic support for Microsoft Outlook Express / Windows Mail
- Basic support for Microsoft Word and Excel
- Support for accessible Java applications
- Early support for Adobe Reader
- Early support for IBM Lotus Symphony
- support for Windows Command Prompt and console applications
- Automatic announcement of text under the mouse and optional audible indication of the mouse position
Internationalization
It is important that people anywhere in the world, no matter what language they speak, get the same access to technologies. NVDA currently has been translated into over 20 languages including: Brazilian Portuguese, Czech, Finnish, French, German, Hungarian, Italian, Portuguese, Slovak, Spanish, Swedish, Traditional Chinese, Vietnamese, Afrikaans, Galician, Croatian, Japanese, Polish, Russian, Thai and Ukrainian.
Speech Synthesizer Support
Apart from providing its messages and interface in several languages, NVDA can also enable the user to read content in any language, as long as they have a speech synthesizer that can speak that particular language.
NVDA is bundled with eSpeak, a free, open-source, multi-lingual speech synthesizer. Additionally, NVDA can use both SAPI4 and SAPI5 speech engines to provide speech output.
Innovation and Experimentation
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 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.
Design and Implementation
NVDA is written in the Python programming language, and is built with a modular design, and much of its code can easily be extended and added to in order to support new programs and/or controls in Windows. App Modules can be written to add overall 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.
To communicate with the Operating System and programs, NVDA uses a mix of Operating System functions, Microsoft Active Accessibility (MSAA), IAccessible2, Java Access Bridge 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.
Licence and Copyright
NVDA is copyright © 2006-2008 NVDA contributors.
NVDA is covered by the GNU General Public License (Version 2). You are free to share or change this software in any way you like as long as you distribute the licence along with the software, and make all source code available to anyone who wants it. This applies to both original and modified copies of the software, plus any software that uses code taken from this software.
For further details, you can view the full licence.

NVDA is supported by