NVDA Add-on Guides
Welcome to NVDA Add-on Guides. This repository contains documentation on NVDA add-ons, including add-on development guide, various user guides for add-ons and notes on add-on internals.
A letter from the NVDA Community Add-on reviewers
Dear NVDA users, developers and supporters around the world:
Welcome to NVDA Add-on Guides. My name is Joseph Lee, a translator and code contributor to NVDA screen reader project and one of the community add-on reviewers. On behalf of other community add-on reviewers, I'd like to cordially invite you to a tour of NVDA documentation, including various online guides for add-ons, notes on add-on internals and other references to help you understand internals of this free, open-source, community-driven screen reader that is now an integral part of lives of thousands of blind people around the world.
As a community reviewer, one of the questions I received was, "how can we improve NVDA and write new add-ons?" Along with this question, some members of the community have voiced concerns with lack of documentation on NVDA, including explanation of NVDA's overall architecture, add-on documentation and so forth. Based on my own experiences with product documentations and seeing the need for handy references to help new developers grasp NVDA features, I decided to launch a series in my own blog entitled "NVDA Add-on Internals" to help you understand how an add-on works. A few days later, a fellow developer suggested creating a repository to house NVDA documentation, thus this repository was born (formerly, this page was home to the add-on development guide).
We the community add-on reviewers team hope this collection will serve as a valuable resource for you to learn more about NVDA, its internals and how you can help NVDA development in the future. Along with a guide on developing add-ons, you'll find other helpful articles, including notes on internals of various add-ons, papers on how NVDA performs its task and so on. Our hope is that, through these resources, you'll understand the work involved to bring NVDA to life, glimpse into the process involved in NVDA and add-on development, learn more about mechanics of screen reading and much more.
In closing, I'd like to say a few words regarding NVDA and this documentation collection. First, please remember that NonVisual Desktop Access is a free, open-source, community-driven screen reader which is licensed under GPL, and please respect copyrights and copyright holders (we the community add-on team release this documentation under GPL as well, and we welcome community contributions). Second, the views expressed by article authors, especially add-on articles, may not represent views of original add-on authors. Lastly, some articles require knowledge of Python, Windows API, accessibility standards and combination of these.
Thank you, and I hope you find this collection useful as you continue to learn about NVDA screen reader. If you have any questions about these resources, please let us know by email or via Twitter (subscribe(link sends e-mail) to NVDA Add-ons list(link is external) first, then send an email to nvda-addons@groups.io(link sends e-mail); for Twitter, please use #NVDASR hash tag).
Sincerely,
Joseph S. Lee
Contributions
Please read this page(link is external) to learn how you can contribute.
Add-on development documentation
To view the latest version of add-on development guide, select the following link:
NVDA Add-on Development Guide(link is external)
NVDA Add-on Internals
The NVDA Add-on Internals is a series of articles explaining how community add-ons work. The following articles are available:
Golden Cursor:
- Add-on authors: Salah Atair, Wafeeq Taher, Joseph Lee
- Source code: https://github.com/josephsl/goldenCursor(link is external)
- Add-on Internals (author: Joseph Lee): https://github.com/nvdaaddons/devguide/wiki/gcaddoninternals(link is external)
StationPlaylist Studio:
- Add-on authors: Geoff Shang, Joseph Lee and others
- Source code: https://github.com/josephsl/stationplaylist(link is external)
- Add-on Internals (author: Joseph Lee): https://github.com/josephsl/stationplaylist/wiki/spladdoninternals(link is external)
SysTray List:
- Add-on authors: Rui Fontes, Rui Batista
- Source code: http://bitbucket.org/nvdaaddonteam/systraylist(link is external)
- Add-on Internals (author: Joseph Lee): https://github.com/nvdaaddons/devguide/wiki/stladdoninternals(link is external)
Windows 10 App Essentials:
- Add-on authors: Joseph Lee and others
- Source code: https://github.com/josephsl/wintenapps(link is external)
- Add-on Internals (author: Joseph Lee): https://github.com/josephsl/wintenapps/wiki/w10addoninternals(link is external)