Goals for the Mozilla Grant of December 2007
The following is the exact goals section from the grant aplication that was approved by the Mozilla Foundation in December 2007.
1. NVDA Core Development
These goals concern developments to the core of NVDA. Thus, they benefit access to all software.
- General core improvements: This includes speed improvements, memory usage optimisation, fixing memory leaks and improvements to user experience.
- Debugging and testing: Improvements to the debugging facilities in NVDA will assist in finding and fixing problems. In addition, an automated testing system needs to be developed to allow for faster discovery of problems and to prevent unnoticed regressions in functionality.
- IAccessible 2 support: IAccessible 2 is an emerging accessibility API that has the potential to vastly improve the accessibility of many applications and is thus very important for NVDA's success. It is already used by a growing amount of important applications, including such applications as Mozilla Firefox, Mozilla Thunderbird and Chatzilla which use Mozilla Gecko / XUL.
2. Braille Output Support
Braille is an important medium for blind and vision impaired people. Therefore, the implementation of support for output to refreshable braille displays is an important goal for NVDA. This is a standard, built-in feature of many other popular screen readers. The representation and concepts for braille output are vastly different to those for speech output. Braille output will thus require some significant modifications and additions to the core architecture of NVDA. NVDA should support dynamic output of both contracted and uncontracted braille on various popular refreshable braille displays.
3. NVDA Customisation for Applications and Web Pages
NVDA already supports customisation for specific applications through the use of application modules. These are modules of code loaded into NVDA that only apply to the application for which they were developed. However, the API and documentation supporting this functionality needs to be expanded. It may also be beneficial to create simpler ways to customise NVDA that do not require the development of code. A similar feature that requires research and possible implementation is the ability to customise NVDA for specific web pages or sites.
4. Static Web Support
This encompasses access to basic web content using html in many web browsers, though most importantly open-source browsers such as Mozilla Firefox. Goals in this area include:
- Fast, efficient access to basic html content in a flat representation
- support for dynamic updates to a page resultant to JavaScript events
- Synchronicity between the flat representation and the actual controls to provide access to forms, and to facilitate navigation of a page using a hierarchical structure
5. Research and Development of New Accessibility Concepts
There are some upcoming technologies and standards which aim to facilitate new, innovative concepts in accessibility. These areas are still in the very early phases of development. The NVDA development team will participate in the research and development of these technologies and, if they are successful, eventually implement them in NVDA. These areas include:
- Accessible drag and drop
- Custom accessible widgets
- Mathematics accessibility
- Diagram accessibility
6. Web Application Support
Resultant to developments and trends in web technology in recent times, there has been an increasing move towards providing rich applications via the web, allowing users to perform tasks on the web which were previously limited to traditional stand-alone desktop applications. The following areas should be researched and potentially implemented:
- ARIA widgets
- Rich text editing in rich internet applications
- Live regions
- ARIA drag and drop
- HTML 5
Note that much of the accessibility of these web applications will be facilitated by the implementation of the new accessibility concepts discussed above, and thus, their success depends on the outcome of those developments.
7. XUL Application Support
As well as Firefox, NVDA should ideally support applications written using Mozilla's XUL framework. These applications include:
- Thunderbird
- Komodo
- Songbird
- Miro
- Popular Mozilla extensions; e.g. AdBlock Plus
8. Mozilla Accessibility Community Interaction
There are many benefits for accessibility in general from interaction between the Mozilla accessibility team and the developers of NVDA. This interaction would include:
- Filing bugs for Mozilla issues
- General interaction with the Mozilla accessibility community
- Involvement in and Contribution to the development of accessibility frameworks and standards
9. NVDA Community Development
A strong community of both users and contributors is essential to the continued progress and acceleration of any open source project. Thus, it is important to encourage and facilitate the growth of the NVDA community. In order to achieve this, the following resources should be developed, maintained and promoted:
- Development documentation
- Issue database
- Community resources; e.g. mailing lists, wiki, blog, etc.
10. Assisting Application Developers to Implement Accessibility
In order to increase the body of accessible applications, better encouragement and assistance needs to be provided to application developers. Ways in which this can be achieved include:
- Promoting application accessibility
- Documenting strategies, techniques and examples for implementing optimal accessibility
- Providing tools and consultation to assist application developers in implementing accessibility

