Skip to content

Commit b01e804

Browse files
Merge a7adde7 into 50ef7d3
2 parents 50ef7d3 + a7adde7 commit b01e804

2 files changed

Lines changed: 72 additions & 0 deletions

File tree

product_vision.md

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
## Product Vision
2+
A world where blind and vision impaired people can independently and fully interact with the Windows Operating System and popular third party applications, enabling them to participate in and contribute to society, no matter their language, location or economic status.
3+
Blind and vision impaired people are empowered to control their own destiny and ensure this vision, through being able to significantly contribute to the technology that makes this possible.
4+
5+
## Product description
6+
NVDA (NonVisual Desktop Access) is software that allows blind and vision impaired people to independently interact with the Windows Operating System and popular third party applications by outputting content in either synthetic speech or via a refreshable Braille Display.
7+
Developed by NV Access in partnership with a dedicated open source community, NVDA enables blind and vision impaired people to increase their chances at education and employment, and to participate in and contribute to society.
8+
9+
## Guiding Principles
10+
1. Freely Available to all: To ensure that NVDA is available to anyone who needs to access the Windows Operating system, no matter their economic status:
11+
* NVDA is free of charge for anyone who needs to access a computer.
12+
* NVDA can be downloaded, copied, shared, and used on any amount of computers.
13+
* Future updates are free of charge.
14+
2. By users for users: To allow and empower blind and vision impaired people to have a say in and directly contribute to NVDA, ensuring it meets their needs as a solution to technology access:
15+
* NVDA is an open source project, meaning that its source code is available to anyone who wishes to learn from and or contribute to the project.
16+
* Documentation is provided to ensure code can be understood and developers can get up and running with ease.
17+
* The vast majority of contributors to the NVDA project are blind or vision impaired, and are users of the product themselves.
18+
3. Multilingual: Ensure that NVDA can be used by people no matter what language they speak:
19+
* NVDA provides mechanisms for volunteers to translate user interface messages and documentation.
20+
* Release processes provide time and reminders for volunteers to contribute translations to NVDA.
21+
4. Stability: Ensure NVDA is stable, minimizes freezes, and avoids drastic updates that could disrupt user experience:
22+
* NVDA strives to support any breaking changes in Windows or supported popular third party applications before they reach the user.
23+
* NVDA updates should not drastically change or remove pre-existing features or defined behaviour without clearly warning the user first.
24+
* NVDA's code should do its best to recover from application freezes, allowing the user to still interact with the rest of the Operating System.
25+
5. Quality: Ensure NVDA's code is high-quality, safe, and that bugs are caught before reaching a release:
26+
* All code is reviewed by at least one other core contributor.
27+
* Automated unit and system tests decrease the possibility of unwanted changes in behaviour.
28+
* Alpha and beta builds are provided for early testing by a large base of dedicated community testers
29+
6. Security: Ensure that NVDA does not place a user at risk of security attacks:
30+
* NVDA prioritizes user security, striving to eliminate risks of remote control attacks or data leaks.
31+
* A strict process exists to follow a security report from implementation to rollout.
32+
* Critical security fixes are minimized in size and complexity to focus on the exact issue reported, which lessens the chance of other security or instabilities accidentally being introduced.
33+
* NVDA can optionally blank the screen while running, to make sure that another person cannot view personal or sensitive information without the blind or vision impaired user knowing.
34+
7. Efficient: Ensure responsiveness to user input, but also energy efficiency where possible:
35+
* Make use of newer more efficient APIs where possible, at the same time falling back to older APIs to ensure functionality on older systems.
36+
* Periodically remove technical debt and refactor code to make code more efficient and understandable, making sure to maintain compatibility with existing scenarios and OS / application versions still supported.
37+
8. Innovative: Strive to push the boundaries of what is possible and to avoid stagnation for both NVDA and its competitors:
38+
* Prototype new ideas and make them available through try builds.
39+
* Promote the sharing and healthy debate of ideas on developer email lists and GitHub Discussions.
40+
9. Compliance: Ensure app / web developers can rely upon NVDA to make best use of the accessibility they implement:
41+
* NVDA strives to comply with all application and web accessibility standards where possible.
42+
* Where there is disagreement or inability to comply with an accessibility standard, clear reasoning and possible practical alternatives are documented.
43+
* Tools such as the NVDA speech viewer help application and web developers use NVDA to test and verify the accessibility of their products.
44+
10. Collaboration: Ensure that blind and sighted people can collaborate together:
45+
* NVDA can clearly visually highlight the position at which the user is currently reading or navigating, to allow another person to be aware of exactly where the user is on the screen.
46+
* The NVDA speech viewer can be used to display the text currently being spoken, so that a sighted person who may have trouble understanding the synthesized speech can follow along.
47+
11. Documentation: Ensure users have the knowledge to fully leverage NVDA's features for productivity in work and everyday life:
48+
* NVDA offers comprehensive, user-friendly documentation such as an official user guide free of charge.
49+
* User-level support is available via various community-run email lists.
50+
12. Multimodal: Ensure that NVDA supports various modes of interaction, meeting the diverse needs of its users:
51+
* NVDA supports multiple input methods including the keyboard, mouse, touch, and braille input devices.
52+
* NVDA delivers output through both speech synthesis and braille displays.
53+
* To cater to the diversity of user preferences, NVDA strives to make all its features accessible through all input and output modalities.
54+
13. Compatibility: Ensure that NVDA works with a wide range of software and hardware to provide maximum accessibility and to ensure users are not left behind in today's rapidly changing technology:
55+
* NVDA is regularly updated to be compatible with the latest versions of Windows and popular third-party applications.
56+
* NVDA also maintains compatibility with older versions of Windows and third-party applications that are still officially supported by their respective companies, providing accessibility solutions for users on older systems.
57+
* NVDA strives to support all common speech synthesizers and refreshable Braille displays that exist today.
58+
14. Configurable: Ensure the user can configure NVDA to suit their own particular preferences and the task at hand:
59+
* NVDA contains many options for configuring what information is reported and how it is presented.
60+
* NVDA allows the user to configure attributes of the output such as the voice rate and pitch, punctuation, and what Braille standard is used.
61+
* NVDA allows the user to create configuration profiles, so that the user can easily switch configurations depending on the particular task they are performing.
62+
15. Extendable: Ensure that NVDA can be easily enhanced and customized to meet specific user needs and requirements:
63+
* NVDA allows the creation and integration of community created add-ons, providing support for extra speech synthesizers, refreshable Braille displays, visual inhancements for low vision, and more third party applications.
64+
* NVDA allows the user to browse, download and install available add-ons from within NVDA itself.
65+
* NVDA provides freedom for add-ons to find innovative solutions by allowing them broad access to NVDA's internals.
66+
* NVDA ensures add-ons do not break by postponing API breakages to once per year, announcing these changes many months ahead of time.
67+
* NVDA Protects users from installing an add-on that is incompatible with the current version of NVDA, allowing the user to override this protection if they understand the risk.
68+
69+

readme.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ To learn more about NVDA or download a copy, visit the main [NV Access](http://w
66

77
Please note: the NVDA project has a [Citizen and Contributor Code of Conduct](CODE_OF_CONDUCT.md). NV Access expects that all contributors and other community members will read and abide by the rules set out in this document while participating or contributing to this project.
88

9+
The NVDA project is guided by a [product vision statement and set of principles](product_vision.md).
10+
The vision and principles should be always considered when planning features and prioritizing work.
11+
912
## Get support
1013
Whether you are a beginner, an advanced user, a new or a long time developer; or if you represent an organization wishing to know more or to contribute to NVDA: you can get support through the included documentation as well as several communication channels dedicated to the NVDA screen reader. Here is an overview of the most important support sources.
1114

0 commit comments

Comments
 (0)