Future Goals

All of the following items are significant features which are candidates for funding sources. The time estimates provided are a rough guide based on one developer working primarily on the one goal and are given to assist in determining the amount of funding required.


  1. Enhancements to Braille Output Support
  2. Table Navigation and Reporting in Virtual Buffers
  3. Automated Regression Testing
  4. Support for IAccessible2 Rich Text Editing
  5. Automatic Language Switching in Virtual Buffers
  6. General ARIA Improvements
  7. Support retreaval of additional display information
  8. Improve Support for Microsoft Office


Enhancements to Braille Output Support

  • Rationale: Important for efficient use (and thus uptake) of NVDA by braille users
  • Estimated time: 9 weeks

In the previous Mozilla grant, initial braille output support was implemented in NVDA. While quite functional and useable already, several enhancements are required to make NVDA's braille support more useful and comparable to that of some other screen readers. These enhancements include:

  • Rendering of control and formatting information in braille; e.g. indicating the presence of links, tables, form fields, headings, bold text, subscript text, etc. (ticket #202)
  • Indication of selected text in a text control, rather than just the caret
  • The ability to split at word boundaries when splitting lines to fit on the display, rather than simply splitting the line when no more text will fit on the display (which can make reading uncomfortable and tedious)

Table Navigation and Reporting in Virtual Buffers

  • Rationale: Important for efficient reading of tables in web content, which are extremely common on the web
  • Estimated time: 1.5 weeks
  • Relevant ticket: #229

NVDA renders web pages from Mozilla Firefox (and other browsers) into a virtual buffer. The content of tables is read, as well as basic table information such as cell coordinates and table dimensions. Basic table navigation commands have also been implemented. However, the following features still must be added:

  • Announcement of table headers in Internet Explorer and Adobe Reader
    • Support for row/column spanning in Adobe Reader

This support must be completed in order to provide a logical, user friendly experience when reading tables on web pages. It is an important feature for reading of web content in screen readers and is present in all of the major commercial products.

Automated Regression Testing

  • Rationale: Results in a higher quality product (thus improving uptake), reduces time that developers must spend testing
  • Estimated time: 8 weeks
  • VaRelevant? ticket: #708

All testing of NVDA is currently done manually by its developers and users. This can be extremely time consuming and tedious. Also, there is a high potential for code changes to cause regressions in other (sometimes unforeseeable) circumstances and functionality. To alleviate these problems and to allow for faster discovery of new problems, an automated testing system needs to be developed for NVDA. This system would automatically run tests defined by the developers on a regular basis and report on the success or failure of the tests.

Support for IAccessible2 Rich Text Editing

  • Rationale: Important for document editing in web applications, Mozilla Thunderbird, etc.
  • Estimated time: 5 weeks

IAccessible2 is used to make rich text editing accessible in products such as Mozilla Gecko (including Firefox and Thunderbird) and IBM Lotus Symphony. Although NVDA implements support for IAccessible2 rich text editing in IBM Lotus Symphony, proper support needs to be designed and implemented to enable rich text editing in Mizlla Firefox, Mizlla Thunderbird and similar implementations.

Automatic Language Switching in Virtual Buffers

  • Rationale: Allows for seemless reading of multilingual web content
  • Estimated time: 3 weeks

Many web pages contain text in multiple languages. If they are authored correctly, the language of the text is specified using a tag. NVDA should detect language changes on pages rendered in virtual buffers and adjust the speech synthesiser language accordingly if the synthesiser supports the new language. Automatic switching of the braille translation table should also be investigated.

General ARIA Improvements

  • Rationale: Improves potential accessibility of web applications
  • Estimated time: at least 2 weeks
  • Relevant tickets

There are many different possible widgets and scenarios that might be encountered with ARIA. Any issues encountered with different ARIA use cases should be resolved. There are a growing number of ARIA test cases which might serve as a starting point in this process.

Support retreaval of additional display information

  • Rationale: Some applications use color and formatting to convey information to the user.
  • Estimated time: at least 4 weeks

NVDA already supports retreaval of text written to the display. However, nontextual information such as color, formatting, and icons are not currently exposed.

Improve Support for Microsoft Office

  • Rationale: Important in order for NVDA to be used in business environments where Microsoft Office applications are used
  • Need to go in-process for Microsoft Word documents to allow for better performance
  • Display hooks required for some controls