Original author(s) | Michael Curran |
---|---|
Developer(s) | NV Access and contributors |
Initial release | 2006 |
Stable release | 2024.3.1 / 9 September 2024 |
Repository | github |
Written in | Python, C++ |
Operating system | Microsoft Windows |
Available in | 62 languages |
List of languages
| |
Type | Screen reader |
License | GNU General Public License version 2 |
Website | nvaccess |
NonVisual Desktop Access (NVDA) is a free and open-source, portable screen reader [1] for Microsoft Windows. [2] The project was started by Michael Curran in 2006. [3]
NVDA is programmed in Python. It utilizes accessibility APIs such as UI Automation, Microsoft Active Accessibility, IAccessible2 and Java Access Bridge, to access and present information to the user. It is licensed under the GNU General Public License version 2.
Concerned by the high cost of commercial screen readers, in April 2006, Michael Curran began writing a Python-based screen reader with Microsoft SAPI as its speech engine. It provided support for Microsoft Windows 2000 onwards, and provided screen reading capabilities such as basic support for some third-party software and web browsing. Towards the end of 2006, Curran named his project Nonvisual Desktop Access (NVDA) and released version 0.5 the following year. Throughout 2008 and 2009, several versions of 0.6 appeared, featuring enhanced web browsing, support for more programs, braille display output, and improved support for more languages. To manage continued development of NVDA, Curran, along with James Teh, founded NV Access in 2007. [4] [5]
NVDA's features and popularity continued to grow. [6] 2009 saw support for 64-bit versions of Windows as well as greater program stability in 2010. Major code restructuring to support third-party modules, coupled with basic support for Windows 8, became available in 2011. Throughout 2012, NVDA gained improved support for Windows 8, ability to perform automatic updates, included add-ons manager to manage third-party add-ons, gained improved support for entering East Asian text and introduced touchscreen support, the first of its kind for third-party screen readers for Windows. NVDA gained support for Microsoft PowerPoint in 2013 and was updated in 2014 to support PowerPoint 2013; NVDA also added enhanced WAI-ARIA support that same year. Also in 2013, NV Access introduced a restructured method of reviewing screen text, and introduced a facility to manage profiles for applications, as well as improving access to Microsoft Office and other office suites in 2014.
Accessibility of mathematical formulas can be an issue for blind and visually impaired persons. [7] [8] In 2015, NVDA gained support for MathML through MathPlayer, [9] along with improved support for Mintty, the desktop client for Skype, and charts in Microsoft Excel, and the ability to lower background audio was introduced in 2016. Also in 2015, NVDA became one of the first screen readers to support Windows 10 and added support for Microsoft Edge in an experimental capacity.
In 2023–2024, NVDA was the most popular desktop/laptop screen reader in common use and the second-most popular primary screen reader throughout the world in a survey by WebAIM. [10] In 2013 Michael Curran and James Teh presented a talk on NVDA at TEDx Brisbane. [11] It is especially popular in developing countries [12] as being free to download and use makes it accessible to many blind and visually impaired people who would otherwise not have access to the internet. [13] [14]
In 2020 NVDA was featured in the University of Queensland Contact Magazine. [15]
NVDA can be used with steganography based software to provide a textual description of pictures. [16]
NVDA uses eSpeak as its integrated speech synthesizer. It also supports the Microsoft Speech platform synthesiser, ETI Eloquence and also supports SAPI synthesizers. Output to braille displays [17] is supported officially from Version 0.6p3 onward. [18]
Besides general Windows functionality, NVDA works with software such as Microsoft office applications, WordPad, Notepad, Windows Media Player, web browsers such as Mozilla Firefox, Google Chrome, Internet Explorer, and Microsoft Edge. It supports most email clients such as Outlook, Mozilla Thunderbird, and Outlook Express. NVDA also works with most functions of Microsoft Word, Microsoft PowerPoint and Microsoft Excel. [19] The free office suites LibreOffice and OpenOffice.org are also supported.
Since early 2009, NVDA supports the WAI-ARIA standard for Accessible Rich Internet Applications, to facilitate better accessibility of web applications for blind users. [18] [20]
In 2023–2024, the screen reader user survey by WebAIM found NVDA to be the most popular screen reader worldwide in terms of common usage and the second-most popular primary screen reader (behind JAWS); 37.7% of survey participants used it as a primary screen reader, while 65.6% of participants used it often. [10] Screen readers can be used to test the accessibility of software and websites. NVDA is the primary screen reader of choice by accessibility practitioners. [21] [22]
NVDA is organized into various subsystems, including the core loop, add-ons manager, app modules, event handler and input and output handlers, along with modules to support accessibility APIs such as Microsoft Active Accessibility. NVDA also features various graphical user interfaces of its own powered by wxPython, such as various preference dialogs, and setup and update management dialogs.
NVDA uses objects to represent elements in an application such as menu bars, status bars and various foreground windows. Various information about an object such as its name, value and screen coordinates are gathered by NVDA through accessibility APIs exposed by an object, such as through UIA (User Interface Automation). The gathered information is passed through various subsystems, such as speech handler and presented to the user in speech, braille [23] and via on-screen window. NVDA also provides facilities to handle events such as key presses, name changes and when an application gains or loses focus.
NVDA provides facilities to examine an application's object hierarchy and implement ways to enhance accessibility of a program. It provides dedicated commands to move through object hierarchy within an application, as well as an interactive python console to perform focus manipulation, monitoring objects for events and test code for improving accessibility of an application to be packaged in an app module.
From 2006 to 2013, NVDA's source code was managed via Bazaar, with NV Access switching to Git in 2013, citing development progress with Bazaar. The developers also took the opportunity to modify the release schedule to happen at regular intervals to prevent delay in releasing an official release and to make the release time frame predictable.
In addition to official releases, nightly snapshot builds are also available for testing. Similar to the release process for the Linux kernel, NVDA snapshots are available in beta and alpha branches, with special topic branches created from time to time. NV Access describes the beta branch as a chance for users to gain early access to new features, alpha branch as bleeding-edge code for possible inclusion in the upcoming release, and topic branches for developing a major feature or to prepare for official release (rc branch). [24] Some third-party developers also maintain specific forks, including language-specific versions of NVDA [25] or to offer public preview for a feature under active development.
While development is primarily led by NV Access, code, documentation and translation contributions come from users and other developers around the world.
A refreshable braille display or braille terminal is an electro-mechanical device for displaying braille characters, usually by means of round-tipped pins raised through holes in a flat surface. Visually impaired computer users who cannot use a standard computer monitor can use it to read text output. Deafblind computer users may also use refreshable braille displays.
Computer accessibility refers to the accessibility of a computer system to all people, regardless of disability type or severity of impairment. The term accessibility is most often used in reference to specialized hardware or software, or a combination of both, designed to enable the use of a computer by a person with a disability or impairment.
A screen reader is a form of assistive technology (AT) that renders text and image content as speech or braille output. Screen readers are essential to people who are blind, and are useful to people who are visually impaired, illiterate, or have a learning disability. Screen readers are software applications that attempt to convey what people with normal eyesight see on a display to their users via non-visual means, like text-to-speech, sound icons, or a braille device. They do this by applying a wide variety of techniques that include, for example, interacting with dedicated accessibility APIs, using various operating system features, and employing hooking techniques.
Gnopernicus was a free GNOME desktop application that provided Assistive Technologies (AT) for blind and visually impaired users. Gnopernicus is no longer actively developed and has been replaced by Orca in GNOME.
A screen magnifier is software that interfaces with a computer's graphical output to present enlarged screen content. By enlarging part of a screen, people with visual impairments can better see words and images. This type of assistive technology is useful for people with some functional vision; people with visual impairments and little or no functional vision usually use a screen reader.
The Perkins Brailler is a "braille typewriter" with a key corresponding to each of the six dots of the braille code, a space key, a backspace key, and a line space key. Like a manual typewriter, it has two side knobs to advance paper through the machine and a carriage return lever above the keys. The rollers that hold and advance the paper have grooves designed to avoid crushing the raised dots the brailler creates.
PyQt is a Python binding of the cross-platform GUI toolkit Qt, implemented as a Python plug-in. PyQt is free software developed by the British firm Riverbank Computing. It is available under similar terms to Qt versions older than 4.5; this means a variety of licenses including GNU General Public License (GPL) and commercial license, but not the GNU Lesser General Public License (LGPL). PyQt supports Microsoft Windows as well as various kinds of UNIX, including Linux and MacOS.
Narrator is a screen reader in Microsoft Windows. Developed by Professor Paul Blenkhorn in 2000, the utility made the Windows operating system more accessible for blind and visually impaired users.
Job Access With Speech (JAWS) is a computer screen reader program for Microsoft Windows that allows blind and visually impaired users to read the screen either with a text-to-speech output or by a refreshable Braille display. JAWS is produced by the Blind and Low Vision Group of Freedom Scientific.
In computing, a virtual desktop is a term used with respect to user interfaces, usually within the WIMP paradigm, to describe ways in which the virtual space of a computer's desktop environment is expanded beyond the physical limits of the screen's display area through the use of software. This compensates limits of the desktop area and is helpful in reducing clutter of running graphical applications.
ZoomText is a screen magnifier for Microsoft Windows developed by Ai Squared which was acquired by Freedom Scientific in 2016. The first version was released for DOS in 1988, and the first version for Windows was released in 1991. ZoomText is available in two editions: ZoomText Magnifier and ZoomText Magnifier/Reader, which includes a built-in screen reader.
Since the Global Positioning System (GPS) was introduced in the late 1980s there have been many attempts to integrate it into a navigation-assistance system for blind and visually impaired people.
The Speech Application Programming Interface or SAPI is an API developed by Microsoft to allow the use of speech recognition and speech synthesis within Windows applications. To date, a number of versions of the API have been released, which have shipped either as part of a Speech SDK or as part of the Windows OS itself. Applications that use SAPI include Microsoft Office, Microsoft Agent and Microsoft Speech Server.
Orca is a free and open-source, flexible, extensible screen reader from the GNOME project for individuals who are blind or visually impaired. Using various combinations of speech synthesis and braille, Orca helps provide access to applications and toolkits that support AT-SPI.
Dolphin Computer Access is a British company based in Worcester that designs, creates and sells software for people who are blind or have vision and print impairments, dyslexia and other specific learning difficulties. The company was set up in 1986 and now has offices in the United Kingdom, United States, Sweden and Norway. Through the use of Dolphin's screen enlargers, screen readers and braille output, users can operate word processors, spreadsheets, databases and the internet. The company's customers include Microsoft, the Inland Revenue, the BBC, the Royal Air Force, New College Worcester and Vodafone.
Braille technology is assistive technology which allows blind or visually impaired people to read, write, or manipulate braille electronically. This technology allows users to do common tasks such as writing, browsing the Internet, typing in Braille and printing in text, engaging in chat, downloading files and music, using electronic mail, burning music, and reading documents. It also allows blind or visually impaired students to complete all assignments in school as the rest of their sighted classmates and allows them to take courses online. It enables professionals to do their jobs and teachers to lecture using hardware and software applications. The advances in Braille technology are meaningful because blind people can access more texts, books, and libraries, and it also facilitates the printing of Braille texts.
TeamTalk is a conferencing system which people use to communicate on the Internet using VoIP and video streaming.
Joshua A. Miele is an American research scientist who specializes in accessible technology design. Miele conducted research on tactile graphics and auditory displays at the Smith-Kettlewell Eye Research Institute in California for fifteen years. In 2019, he joined Amazon Lab126, a subsidiary of Amazon that works on hardware products, where he is Principal Accessibility Researcher. He has been blind since early childhood.
{{cite journal}}
: CS1 maint: multiple names: authors list (link)