NVDA is a screen reader for the Windows Operating System which allows the user to access the computer with out needing any vision. By querying the Operating System for information about where the user is, what windows and controls are on the screen, and by watching the Operating System closely for changes, NVDA can process and output this information via synthetic speech, so that the user understands exactly what is happening on screen.
NVDA comes with a built-in synthesizer called eSpeak, and also supports both SAPI4 and SAPI5 synthesizers.
NVDA uses a mixture of Microsoft Active Accessibility (MSAA), low-level Windows API calls, and specific application object models. NVDA does not use video intercept drivers or display hooks. The advantage of all this is that NVDA can work on many different system configurations, and does not depend on particular colour settings or video display modes. Also NVDA does not have to install any special drivers or files which would require the computer to be restarted before running NVDA for the first time.
NVDA does not yet support Braille displays, though work is currently being done on this.
NVDA can show its user interface, and speak its messages, in thirteen different languages. NVDA should be able to read text in any language, as long as you have a synthesizer that can speak that language. eSpeak can speak many languages, but of course it is possible to use a SAPI4 or SAPI5 synthesizer which supports your specific language.
NVDA is experimental software, and is continuously under development. It is also open-source, which means that anyone is able to read the source code, or even change it to suit their needs. However, because of this, there may be bugs, and things may not work as expected on everyone's systems.
But as more and more people test out NVDA, and provide user feedback, NVDA should be able to grow even better, acting as a completely cost-free access solution for blind or vision impaired users of Windows.
NVDA works with many programs, and it really just depends on how accessible they are, as to how well they will work with NVDA.
Apart from all the general Windows functionality, NVDA works with WordPad, Notepad, Outlook Express and Internet Explorer. It also has basic support for Microsoft Word 2000/xp/2003, and Microsoft Excel 2000/xp/2003. NVDA has not been tested with Microsoft Office 2007.
NVDA also has extensive support for Mozilla Firefox (version 2 and up). Firefox is the recommended web browser for maximum accessibility with NVDA.
This User guide is not meant to be a complete guide to using NVDA and Windows, but just enough information to get you started with NVDA, so that you can navigate around, and learn how to do many more things on your own.
NVDA is Copyright (C) 2006-2007 Michael Curran
NVDA runs on Windows XP and Windows Vista. NVDA may work on Windows 2000, but not enough people have tested this yet.
NVDA will not work on Windows 95/98/ME, and will not yet work on 64 bit versions of Windows.
You should have at least 256MB of ram, and it is probably best to run NVDA on a computer with a speed of 1.0 GHZ or faster. NVDA will run on slower computers, but its start-up time may be quite slow, plus intensive tasks such as loading web pages may be also very slow.
If you haven’t yet got a copy of NVDA, you can download it from the NVDA website at: http://www.nvda-project.org/
Go to the download section and you will find a link to download the latest revision of NVDA.
There are currently two ways NVDA is packaged. One is an Installer which will talk you through installing NVDA so that you can then run it at any time from the Start Menu. The other is a zip file that contains a fully portable version of NVDA, which you can run from anywhere, including a USB thumb drive or CD.
If you already have the NVDA installer, simply press enter or double click on the file and the installer will start.
The installer will start to talk to you with recorded speech, and ask you if the rest of the installation should be spoken or not. If you say that it should, a temporary copy of NVDA will start, which will allow you to complete the install with out sighted assistance.
Simply follow all the prompts, and NVDA should be installed nicely for you to use.
At the end of the install, the Installer will automatically start the new copy of NVDA that has just been installed.
If you have the zip file version of NVDA, then all you have to do is unzip this file to any place you like on your hard drive. You could also unzip it to portable media such as a USB thumb drive or CD.
If you have installed NVDA with the installer, then starting NVDA is as simple as either pressing control+alt+n, or choosing NVDA from the NVDA menu under Programs on the Start Menu.
To start the portable zip file version, go to the directory you unzipped NVDA to, and press enter or double click on nvda.exe.
As NVDA starts, you will first hear an ascending set of tones (telling you that NVDA is loading). You should then hear it say "NVDA Started". Depending on how fast your computer is, or if you are running NVDA off a USB key or other slower medium, it may take a little while to start. If it is taking an extra long time, NVDA should say "Loading subsystems. Please wait...”
If you don't hear any of this, or you hear the Windows error sound, or a descending set of tones, then this means that NVDA has an error, and you will need to possibly report a bug to the developers. Please check out the NVDA website for how to do this.
Once NVDA starts successfully, it should bring up the NVDA interface window, which allows you to control NVDA's settings, and to exit NVDA all together.
Many key commands are mentioned through out the rest of this user guide, but an easy way to explore all the different key commands is to turn on keyboard help.
To turn on keyboard help, press insert+1. To turn it off again, press insert+1 again. While in keyboard help, pressing any key will announce what it does (if in deed it does do something). The keys will not actually perform their function while in keyboard help mode, so you can press what ever keys you like. Please note that most NVDA key commands are one key in combination with the insert key. However, the number pad keys by themselves also perform special actions.
One other useful key command to note here is insert+f12, which announces the current time and date.
The NVDA Interface Window contains a menu bar with menus that allow you to change settings and exit NVDA. The Window also contains a quick-start document which lists most of the keyboard commands you might want to use while running NVDA.
The NVDA Interface window is a good place to get used to navigating around with NVDA, since it has a document in which you can arrow around, plus lots of menus and dialog boxes.
Although the NVDA interface window appears when you start NVDA, it doesn't have to be around for the whole time of using the program. There is nothing worse than having too many open applications to alt-tab through when trying to find a particular one.
To hide the NVDA interface window, you can simply press alt+f4 when inside it. This will not exit NVDA altogether, but only hide the interface.
To show the interface again at any time, you can either press insert+n, or you can press enter or double click on NVDA in the Windows System Tray.
NVDA stores its settings in a file called nvda.ini in its directory. You will probably never have to touch this file, but for advanced users, this file does allow you to change some extra settings which don't yet have dialog boxes to do so.
NVDA does not automatically save your settings, so if you exit NVDA, and then restart it, the settings will go back to the original values. To save the settings, you can either choose the save item in the NVDA menu, or press control+s when in the NVDA interface window.
If NVDA is on a read-only file system, such as a CD, it will not be able to save your settings, and it will tell you so.
If you ever make a mistake with your settings and need to revert back to the saved settings, you can either choose the "revert to saved" configuration item in the NVDA menu, or you can press control+r in the NVDA Interface Window.
On the menu bar of the user interface, there is a Preferences menu which contains many menu items that open dialog boxes for you to control NVDA's various settings.
You can control user interface settings, synthesizer selection, voice settings, keyboard echo, mouse settings, object presentation, virtual buffer settings, and document formatting settings.
The Most common way of navigating around Windows with NVDA, is to just move around with normal keyboard commands, such as tab and shift tab too move forward and back between controls, pressing alt to get to the menu bar and then using the arrows to navigate menus, using alt-tab to move between running applications. As you do this, NVDA will announce what has focus.
When NVDA announces an object (e.g. when it receives focus), it will usually say the object's name, type, state, value, description, keyboard shortcut, and positional information. This is quite similar to other screen readers; however the types of objects may be a little different.
There are some key commands useful when moving with focus:
If you wish to look around the Operating System a bit, but with out moving the focus, you can use NVDA's object navigation. This allows you to move from object to object in a tree like structure.
The tree structure of objects starts at the desktop window, the root of the tree. The first branches of the tree are the currently running applications, and of course these applications have their own branches (objects), representing various parts of the application.
The tree structure can get quite large, but it does allow you to navigate in a logical order, so that you can quickly find the information you need.
This structure has nothing to do with how the objects are laid out on the screen, but how they are related logically. This may take a little bit of time to get used to, but once you grasp this, you should be able to move around quite easily.
NVDA currently can not navigate the objects in a screen-based layout due to not having a video intercept driver or display hooks. NVDA chooses not to interact with the screen, more so because over all it should allow a much clearer, and more logical perception of an application and the operating system, rather than trying to picture a flat screen layout.
Not all applications have a perfect tree structure, but this is up to the developer of that particular application. Most seem to be ok; certainly most Dialog boxes and highly structured applications seem to have gotten it right.
To navigate by object, use the following keys:
When you move with the focus, the current navigator object changes along with it. However, if you wish to lock the object navigation to one specific object, so it doesn't change with the focus, you can turn off focus Moves Navigator Object with insert+7.
Sometimes you might want to know how something is spelt, or perhaps you need to read something by words. You can review the text inside the current object with the numpad keys:
For most objects, the text inside is made up of name, value and description. However for objects that actually have real text, or editable content, then the text is the actual text in the object.
For example: a list item in a list will have text which contains its name, value and description. But an edit field, or a dos console window, will have the actual text that is in the field or window.
When an object contains an edit cursor (system caret), and it moves, the review cursor is also updated to that position. If you want the review cursor to stay where it is, and not move with the caret, you can turn off caret Moves Review Cursor by pressing insert+6.
When the focus is on an object that has an edit cursor (system caret), you can arrow around and edit like you normally would. NVDA will announce as you move by character, word, line, and will also announce selecting and unselecting text.
When you move with the system caret, the position of the review cursor will also be updated to match the system caret.
You can also read the entire text (say all) with insert+down Arrow. Note though that this is different to numpad Plus which only moves the review cursor, this moves the system caret as it goes.
When you move the Mouse, NVDA can be configured to report the object that is directly under the mouse pointer, as it moves over it.
By using the mouse, even blind users may be able to gain an idea of how the screen is laid out. NVDA can only read the object that is under the mouse, it can not yet read particular textual content or other smaller features.
Complex documents, such as web pages, are represented in NVDA with in a Virtual Buffer.
A Virtual Buffer is a flat textual representation of the document, which allows the user to arrow around, to read the text and fields that are in the document. Apart from arrowing around, you can also press enter or space on links and buttons to activate them, press enter or space on edit fields to then edit their content, press enter or space on check boxes or radio buttons to select them, and press enter or space on combo boxes to then be able to change their selection.
As you arrow in to a field, the field type (such as link, heading, list etc) is spoken, however this information is not physically in the buffer, which means you can arrow through the text as normal.
Currently NVDA uses Virtual Buffers for both Internet Explorer and Mozilla Firefox.
Virtual Buffers have the ability to be updated dynamically, however only Mozilla Firefox currently makes use of this feature. Although Internet Explorer will probably display most pages correctly, Firefox is much better with content that changes due to JavaScript etc.
Because of the complexity of Virtual Buffers, NVDA may take a bit of time to load some pages. Most pages will load quite quickly, but some very large pages may take over 5 seconds or more.
For quicker navigation, NVDA also provides single character keys to jump to certain fields in a virtual buffer.
By themselves they jump to the next field, with the shift key they jump to the previous field.
Keys:Sometimes you may wish to interact with form fields with out the virtual buffer keys getting in the way. Virtual Buffer Pass-Through mode is created for this problem, and can be toggled on and off with insert+space.
Generally though, when pressing on a form field it will automatically be turned on, and when loading a new page it will be turned off.
The User Interface settings dialog box is found in the Preferences menu. It contains the following options:
A combo box which allows you to select the language that NVDA's user interface and messages should be shown in. There are many languages, however the last choice in the list is called "Windows". This choice tells NVDA to use the language that Windows is currently set to (in the Regional and Language Options in Control Panel). Please note that NVDA must be restarted when changing the language, NVDA will ask you if you wish to restart if you do change the selection and press OK.
A check box that tells NVDA to not keep the User Interface visible, when at startup. If checked it will be hidden, if unchecked, it will stay visible until the user manually hides it with alt+f4.
A check box that when checked tells NVDA to automatically save the current configuration when you exit NVDA.
The Synthesizer dialog, which is found under "Synthesizers..." on the Preferences menu, allows you to select which Synthesizer NVDA should use to speak with.
The dialog contains a simple combo box, which lists all the available synthesizers. Choose the synthesizer you want using the arrow keys, and then press ok. If there is an error loading the synthesizer, a message box will alert you to the fact, and keep the old synthesizer loaded.
The current list of synthesizers NVDA supports is: eSpeak (included with NVDA), SAPI4, SAPI5, and Silence.
The eSpeak synthesizer is built directly in to NVDA, and does not depend on any other special drivers or SAPI runtime to be installed. NVDA starts using eSpeak by default. This synthesizer should work on any system that NVDA works on, so it will definitely work when running NVDA off a USB thumb drive or CD, on anyone else's system.
NVDA currently has two SAPI4 drivers. People report different results with both drivers, so please try them both and use the one which works best for you.
The Silence synthesizer driver is not that useful, unless you want to not have any speech at all while running NVDA.
Please note that no matter how many different SAPI4 or SAPI5 voices (or engines) you have installed on your system, only the actual SAPI4 and SAPI5 synthesizers will show up in the Synthesizers dialog. To actually select one of the engines (voices), select either SAPI4 or SAPI5, and then in the Voice settings dialog, you can choose the voice you want.
The Voice Settings dialog, found in the Preferences menu, has the following options:
A combo box, listing all the voices of the current synthesizer. You can use the arrow keys to listen to all the various choices.
A slider which goes from 0 to 100, (0 being the slowest speed and 100 being the fastest). You can also change the rate of speech from anywhere, by using the insert+pageUp and insert+pageDown keys to speed up or slow down speed respectivly.
A slider which goes from 0 to 100, (0 being the lowest pitch and 100 being the highest).
A slider which goes from 0 to 100, (0 being the lowest volume and 100 being the highest).
A check box, that when checked tells NVDA to speak all punctuation symbols as words (very useful for proof reading). When unchecked, NVDA leaves the punctuation unchanged, so the synthesizer will still read sentences with the right inflection, however the symbols won't be spoken aloud.
A check box, that when checked tells NVDA to say the word "cap" before any capital letter, when arrowing over it or speaking it when its being typed. Usually, NVDA raises the pitch slightly for any capital letter, but some synthesizers may not support this well, so perhaps this option may be of use.
This dialog box is found in the Preferences menu, under "Keyboard echo...". It contains the following options:
A check box that when checked means that NVDA will announce all characters you type on the keyboard. You can also configure this option from anywhere by pressing insert+2.
A check box that when checked means that NVDA will announced all words you type on the keyboard. You can also configure this option from anywhere by pressing insert+3.
A check box that when checked means that NVDA will announce all non-character keys you type on the keyboard. This includes key combinations such as control plus another letter. You can also configure this option from anywhere by pressing insert+2.
The Mouse Settings dialog is found on the Preferences Menu, under "Mouse settings...". It contains the following options:
A checkbox, that when checked means that NVDA will announce the shape of the mouse pointer each time it changes. The mouse pointer in Windows changes shape to convey certain information such as when something is editable, or when something is loading etc.
A check box that when checked means that NVDA will announce the object (control) currently under the mouse pointer, as you move it around the screen. This allows you to find things on the screen, by physically moving the mouse, rather than trying to find them through object navigation. It may not work correctly all the time, but it may come in use for some people. It can also be turned on or off from anywhere with insert+m.
Found on the Preferences menu under "Object Presentation..." this dialog box contains the following options:
A check box that when checked tells NVDA to announce tool tips as they appear. Many Windows and controls show a small message (or tool tip) when you move the mouse pointer over them, or sometimes when you move the focus to them.
This check box when checked tells NVDA to announce help balloons as they appear. Help Balloons are like tool tips, but are usually larger in size, and are associated with system events such as a network cable being unplugged, or perhaps to alert you about Windows security issues.
When this check box is checked, NVDA will include the shortcut key that is associated with a certain object or control when it is announced. For example the File menu on a menu bar may have a shortcut key of alt+f.
Some objects or controls in dialog boxes are placed with in groupings. When this check box is checked, NVDA will firstly announce the name of the group, before announcing the object. Sometimes hearing the group name helps you to identify what the object is for, however sometimes groupings can become annoying, so you can turn it off here.
When this check box is checked, NVDA will announce the state of an object before any other information. For example a button with a name of "play" and a state of "pressed" will be announced as "pressed play button" rather than "play button pressed". This is sometimes useful if you are tabbing around a lot of objects of the same type, but you are only really interested to see whether they are "pressed", or "checked" etc.
A progress bar is a control which looks a bit like a ruler. As a task is slowly being completed, more of the bar gets highlighted. It also shows a percentage value, to numerically tell you how far along it is. Progress bars are shown for things like loading a web page, checking your email, or processing a sound file etc. If this check box is checked, NVDA will use beeps to let you know how far along a progress bar is as it moves. This is sometimes a lot nicer than hearing lots of numbers.
The Virtual Buffer settings dialog can be found on the Preferences menu, under "Virtual Buffers...". It contains the following options:
This field sets the maximum length of a line of a virtual buffer (in characters). Its not guaranteed that all lines will end up being this length or under, but most should.
Although virtual buffers don't really have pages, this field sets the amount of lines you will move by when pressing page up or page down while in a virtual buffer.
This check box when checked tells NVDA to announce the text and presentation information in the virtual buffer for a control, as it gets focus, rather than simply asking Windows for the control information. For example, tabbing to a link called "cats" will say "link cats" rather than "cats link" because in virtual buffers when arrowing around, the type is always said before the text. It may be desirable in certain cases then to not have this option enabled since this means the control will be announced in a some what better order. However, for some web browsers, you may get more accurate information announced when this is enabled.
When this check box is checked, Virtual buffers have the ability to be updated as the page changes, due to such things as java script. Currently NVDA only supports dynamic updating for Mozilla Firefox, but hopefully Internet Explorer will also be supported with this feature in future releases.
The other eleven or so check boxes in this dialog box allow you to configure what type of information is announced when arrowing around virtual buffers. For example, report links, will say the word "link" before any text that is a link when it is checked.
You can configure links, headings, graphics, lists, list items, tables, forms, form fields, block quotes, frames and paragraphs.
This dialog box is found in the Preferences menu, under "Document Formatting...". All the check boxes in this dialog are for configuring what type of formatting you wish to hear automatically as you move the cursor around documents such as in Wordpad or Microsoft Word. For example, if you check the report font name check box, each time you arrow on to text with a different font, the name of the font will be announced.
You can configure font names, font size, font attributes, text alignment, text style, tables, page numbers, and line numbers.