NonVisual Desktop Access

Last updated

NVDA
Original author(s) Michael Curran
Developer(s) NV Access and contributors
Initial release2006;18 years ago (2006)
Stable release
2024.4.1 / 11 November 2024;8 days ago (2024-11-11)
Repository github.com/nvaccess/nvda
Written inPython, C++
Operating system Microsoft Windows
Available in62 languages
List of languages
  • Afrikaans
  • Albanian
  • Amharic
  • Arabic
  • Aragonese
  • Bulgarian
  • Burmese
  • Catalan
  • Central Kurdish
  • Chinese (Simplified, China)
  • Chinese (Traditional, Hong Kong SAR)
  • Chinese (Traditional, Taiwan)
  • Croatian
  • Czech
  • Danish
  • Dutch
  • English
  • Finnish
  • French
  • Galician
  • Georgian
  • German
  • German (Switzerland)
  • Greek
  • Hebrew
  • Hindi
  • Hungarian
  • Icelandic
  • Indonesian
  • Irish
  • Italian
  • Japanese
  • Kannada
  • Korean
  • Kyrgyz
  • Lithuanian
  • Macedonian
  • Mongolian
  • Nepali
  • Northern Kurdish
  • Norwegian Bokmål
  • Norwegian Nynorsk
  • Persian
  • Polish
  • Portuguese (Brazil)
  • Portuguese (Portugal)
  • Punjabi
  • Romanian
  • Russian
  • Serbian (Latin)
  • Slovak
  • Slovenian
  • Somali
  • Spanish
  • Spanish (Colombia)
  • Swedish
  • Tamil
  • Thai
  • Turkish
  • Ukrainian
  • Urdu
  • Vietnamese
Type Screen reader
License GNU General Public License version 2
Website nvaccess.org OOjs UI icon edit-ltr-progressive.svg

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]

Contents

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.

History

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, 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] [11] The program 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]

NVDA can be used with steganography based software to provide a textual description of pictures. [15]

Features and accessibility API support

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 [16] is supported officially from Version 0.6p3 onward. [17]

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. [18] 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. [17] [19]

Technical features

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 [20] 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.

Development model

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). [21] Some third-party developers also maintain specific forks, including language-specific versions of NVDA [22] 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.

Related Research Articles

<span class="mw-page-title-main">Refreshable braille display</span> Device for displaying braille characters

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.

<span class="mw-page-title-main">Computer accessibility</span> Ability of a computer system to be used by all people

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.

<span class="mw-page-title-main">Screen reader</span> Assistive technology that converts text or images to speech or Braille

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.

<span class="mw-page-title-main">Gnopernicus</span> Assistive technology

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.

<span class="mw-page-title-main">Perkins Brailler</span> Braille embossing typewriter

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.

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.

Microsoft Active Accessibility (MSAA) is an application programming interface (API) for user interface accessibility. MSAA was introduced as a platform add-on to Microsoft Windows 95 in 1997. MSAA is designed to help Assistive Technology (AT) products interact with standard and custom user interface (UI) elements of an application, as well as to access, identify, and manipulate an application's UI elements. AT products work with MSAA enabled applications in order to provide better access for individuals who have physical or cognitive difficulties, impairments, or disabilities. Some examples of AT products are screen readers for users with limited sight, on screen keyboards for users with limited physical access, or narrators for users with limited hearing. MSAA can also be used for automated testing tools, and computer-based training 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.

<span class="mw-page-title-main">GPS for the visually impaired</span>

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.

<span class="mw-page-title-main">Orca (assistive technology)</span> Accessibility software

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.

<span class="mw-page-title-main">Magnifier (Windows)</span>

Magnifier, formerly Microsoft Magnifier, is a screen magnifier app intended for visually impaired people to use when running Microsoft Windows. When it is running, it creates a bar at the top of the screen that greatly magnifies where the mouse is. Magnifier was first included as a sample in the Active Accessibility SDK/RDK for Windows 95 and later made a standard Windows utility starting with Windows 98. Prior to Windows Vista, Magnifier could be used to magnify the screen up to 9 times its normal size. Windows Vista and later allow up to 16× magnification.

Dolphin Computer Access Limited 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.

RoboBraille is a web and email service capable of converting documents into a range of accessible formats including Braille, mp3, e-books and Daisy. The service can furthermore be used to convert otherwise inaccessible documents such as scanned images and pdf files into more accessible formats. RoboBraille has been in operation since 2004 and currently serves thousands of user requests each month from users around the world. The service is available for free for strictly individual, non-commercial use. Institutional use by academic institutions is available through SensusAccess.

Vinux was a Linux distribution which was specially designed for blind and partially sighted users. Specifically it was a remastered version of the Ubuntu distribution and provided users with two screen readers, two full-screen magnifiers, global font-size and colour changing facilities. The system also supported USB Braille displays.

<span class="mw-page-title-main">Chieko Asakawa</span> Japanese computer scientist

Chieko Asakawa is a blind Japanese computer scientist, known for her work at IBM Research – Tokyo in accessibility. A Netscape browser plug-in she developed, the IBM Home Page Reader, became the most widely used web-to-speech system available. She is the recipient of numerous industry and government awards.

<span class="mw-page-title-main">TeamTalk</span> Conferencing system which people use to communicate on the Internet using VoIP and video streaming.

TeamTalk is a conferencing system which people use to communicate on the Internet using VoIP and video streaming.

Accessibility apps are mobile apps that increase the accessibility of a device or technology for individuals with disabilities. Applications, also known as, application software, are programs that are designed for end users to be able to perform specific tasks. There are many different types of apps, some examples include, word processors, web browsers, media players, console games, photo editors, accounting applications and flight simulators. Accessibility generally refers to the design of products and environments to be usable by people with disabilities. Accessibility apps can also include making a current version of software or hardware more accessible by adding features. Accessibility apps aim to reduce barriers to technological goods and services, making them more usable for various groups within society. A basic example is that a person who experiences vision impairments is able to access technology through enabling voice recognition and text-to-speech software.

References

  1. AFB. "Screen Reading Technology" . Retrieved 21 May 2019.
  2. Kirboyun, Sevgi (2018). "Computer Aided System for Users with Visual Impairments". 2018 IEEE/ACS 15th International Conference on Computer Systems and Applications (AICCSA). pp. 1–2. doi:10.1109/AICCSA.2018.8612898. hdl:10150/631977. ISBN   978-1-5386-9120-5. S2CID   58671401.
  3. Rowena (24 April 2018). "NV Access: Interview and Review". www.top10-websitehosting.co.uk. Retrieved 14 May 2019.
  4. "A SCREEN READER FOR EVERYONE: WHY THE WORLD NEEDS NVDA". Media Access Australia. 26 March 2012. Retrieved 26 March 2012.
  5. Miles, Janelle. "Being blind didn't stop these inventors from sharing internet vision". The Courier Mail. Retrieved 21 May 2019.
  6. Calvo, Rocío; Iglesias, Ana; Moreno, Lourdes (2014). "Accessibility barriers for users of screen readers in the Moodle learning content management system". Universal Access in the Information Society. 13 (3): 315–327. doi:10.1007/s10209-013-0314-3. hdl: 10016/19760 . S2CID   14984236.
  7. Maćkowski, Michał; Brzoza, Piotr; Żabka, Marek; Spinczyk, Dominik (2018). "Multimedia platform for mathematics' interactive learning accessible to blind people". Multimedia Tools and Applications. 77 (5): 6191–6208. doi: 10.1007/s11042-017-4526-z .
  8. Su, W; Cai, C; Wu, J (2018). "The accessibility of mathematical formulas for the visually impaired in China". Artificial Intelligence and Symbolic Computation. Lecture Notes in Computer Science. Vol. 11110. pp. 237–242. doi:10.1007/978-3-319-99957-9_18. ISBN   978-3-319-99956-2.
  9. Noble, Steve; Soiffer, Neil; Dooley, Sam; Lozano, Edgar; Brown, Dan (2018). "Accessible Math: Best Practices After 25 Years of Research and Development". Journal on Technology & Persons with Disabilities. 6. hdl:10211.3/203002.
  10. "Screen Reader User Survey #10". WebAIM . Retrieved 23 February 2024.
  11. Cordeiro, P; Conrad, C; Cheiran, J (2017). "Redesigning towards accessibility: from a Facebook trivia game to an educational, accessible web game" (PDF). Simpósio Brasileiro de Jogos e Entretenimento Digital. Curitiba, Brazil. Retrieved 21 May 2019.
  12. Susanto; Nanda, Deri Sis (2018). "Teaching and Learning English for Visually Impaired Students: An Ethnographic Case Study". English Review: Journal of English Education. 7 (1): 83–92. doi: 10.25134/erjee.v7i1.1530 .
  13. Muhammad, Aslam; Ahmad, Warda; Tooba, Maryam; Anwar, Sidra (2015). "Assistive Technology for Disabled Persons". Proceedings of the 2015 International Conference on Recent Advances in Computer Systems. pp. 74–80. doi: 10.2991/racs-15.2016.12 . ISBN   978-94-6252-146-9.
  14. Senjam, Senjam, Suraj Singh; Foster, Allen; Bascaran, Covadonga; Vashist, Praveen; Gupta, Vivek (2019). "Assistive technology for students with visual disability in schools for the blind in Delhi" (PDF). Disability and Rehabilitation: Assistive Technology. 15 (6). Taylor & Francis: 663–669. doi:10.1080/17483107.2019.1604829. PMID   31012740. S2CID   128362037.{{cite journal}}: CS1 maint: multiple names: authors list (link)
  15. Nengroo, Ab Shaqoor; Kuppusamy, K. S (2018). "Accessible images (AIMS): a model to build self-describing images for assisting screen reader users". Universal Access in the Information Society. 17 (3): 607–619. doi:10.1007/s10209-017-0607-z. S2CID   29188594.
  16. Russomanno, A; O’Modhrain, S; Gillespie, R.B; Rodger, M.W.M (2015). "Refreshing Refreshable Braille Displays". IEEE Transactions on Haptics. 8 (3): 287–97. doi:10.1109/TOH.2015.2423492. PMID   25879973. S2CID   30154632.
  17. 1 2 "What's New in NVDA". nvaccess.org. Retrieved 7 May 2019.
  18. "About NVDA". nvaccess.org. 5 July 2017. Retrieved 7 May 2019.
  19. "NVDA 2009.1 beta, what's in it for Firefox users? – Marco's Accessibility Blog". Marcozehe.de. 27 October 2009. Archived from the original on 14 April 2016. Retrieved 1 April 2016.
  20. de Ruijter, Leonard. "Braille framework". GitHub . Retrieved 18 May 2019.
  21. "NVDA Development Snapshots". Nvaccess.org. Retrieved 7 May 2019.
  22. "NVDA日本語版 ダウンロードと説明". www.nvda.jp. Retrieved 8 July 2023.