NVDA (Non Visual Desktop Access) is an open source screen reader for Microsoft Windows which enables blind and vision impaired people to use computers. A screen reader is basically a layer on the top of the operating system which intercepts every input and output and presents it to the user in a useful way either in audio or braille format.
visit website

information flow diagram

infographics explaining the information flow in nvda

How it works ?

NVDA fetches information about GUI widgets, textual data, events, user interactions and OS events with the help of:

Accessibility APIs: These are special purpose APIs that provide information about the graphical widgets such as name, type/role, description, value, states, etc. Accessibility APIs also provide events to allow assistive technologies to monitor object's properties changes. Accessibility APIs include Microsoft Active Accessibility (MSAA), IAccessible2, Java Access Bridge and UI Automation.

Native APIs: If application does not expose sufficient information via accessibility APIs but expose information via native APIs (not specific to accessibility) then these APIs can be used. For ex: Win32

Application Specific APIs: A lot of applications also provide APIs of their own to expose information about the components and events of the application. For example COM (Component Object Model) API for Microsoft Excel.

OS Functions: Windows OS provides many functions to obtain system information and perform tasks. Information that can be obtained includes the class name of a window, the current foreground window, window location, process or thread ID.

NVDA Features

  • Open Source s/w- NVDA is open source, that is, it is available for free to users. Also users can create modules of their own and use them.
  • Braille- provides output to user in Braille format
  • Speech- provides output to user in audio format
  • Indian Languages- provides support for 12 Indian languages
  • Portable- NVDA can be installed directly on to your computer, but it has the ability to run entirely from a USB stick or other portable media.
  • Speech Engines - is bundled with eSpeak, a free multi-lingual speech synthesizer. Additionally, it can use both SAPI 4 and SAPI 5 speech engines.

System Requirements

NVDA runs on both 32-bit and 64-bit editions of Microsoft Windows XP or later. NVDA has no additional hardware requirements beyond those of the operating system and requires around 50 MB of disk space.

NVDA is bundled with eSpeak, a free multi-lingual speech synthesizer. Additionally, NVDA can use both SAPI 4 and SAPI 5 speech engines.

NVDA Image Description AddOn


When browsing across the internet, many times we come across images without any alternate text. This causes NVDA to simply mention it as a graphic without any description. This add-on has been written to provide description for such graphics. The add-on uses Microsoft's Computer Vision cognitive API to get a description of the image provided to it. The add-on works for the Internet Explorer, Mozilla Firefox and Chrome (Canary version) browser as well


System Requirements

1. Windows operating system
2. NVDA screen reader
3. If using with Chrome browser, use Chrome Canary


Step 1: Generate a subscription key for using Microsoft Computer Vision cognitive API from the link Please note that the key has to be created for the Computer Vision API.

Step 2: Download and Install the NVDA Addon named DescribeIt. For Addon installation instructions visit link

Step 3: From the add-on menu (the add-on menu is named as Assistech_IIT_Delhi), select the options add API key and provide your subscription key for the cognition API.

Step 4: If you are behind a proxy, from the add on menu, select the options add proxy details and provide your proxy IP and port. Step 3 and step 4 only need to be performed the first time or whenever either of your proxy details or subscription key changes.

Step 5: While navigating a webpage, whenever a graphic is encountered and is in focus, use keyboard shortcut NVDA+g. The image description and the confidence level returned b the API are provided as audio output. Use NVDA+gg to get the results (including the dominant colors present in the image) in a browseable message box. (Fetching results takes a few seconds.). If no result is obtained from API, appropriate speech message is returned.

Download Addon

Papers and Publications

Title : Microsoft Excel ChartsTM Accessibility: An Affordable and Effective Solution
Proceedings of the 3rd International Workshop on "Digitization and E-Inclusion in Mathematics and Science 2016" (DEIMS2016)
Siddhartha Gupta, Manshul V Belani, Dinesh Kaushal, and M. Balakrishnan