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. Support for East-Asian input methods
  2. Improved support for RTL languages for text written to the display
  3. Automated Regression Testing
  4. Support for IAccessible2 Rich Text Editing
  5. General ARIA Improvements
  6. Table Navigation and Reporting in Virtual Buffers


Support for East-Asian input methods

  • Rationale: Increased uptake in the Chinese and Japanese communities, Remove need for East-Asian specific forks of NVDA (e.g. Hong Kong, Japan), Standardize and improve the existing experience for users using East-Asian input methods.
  • Estimated time: 12 weeks

NVDA's support for input character selection as required by most Chinese and Japanese keyboard input methods is non-existent, thus making it impossible for all but expert typists in these communities to successfully write using NVDA and therefore severely limiting access to applications.

Although multiple forks of NVDA have been created by specific communities (specifically, Hong Kong and Japan) to overcome the lack of input method support, the code and features differ widely between implementations. They are in some cases outdated relative to the official version of NVDA, and they are very prone to becoming incompatible due to NVDA's rapid development. These forks also take rather separate approaches to presenting the input method experience, thus making them incompatible and resulting in a suboptimal fit with the standard NVDA user experience.

Support for the IME and TSF input method technologies must be added to official releases of NVDA. To aide in an efficient and effective implementation, This work will also include user research to gain a clear understanding of the requirements for such support, a review of all code that could be integrated from existing forks and user testing throughout the project.

Improved support for RTL languages for text written to the display

  • Rationale: To improve access and the over all user experience of using particular applications for users of right-to-left languages such as Arabic.
  • Estimated time: 5 weeks.

In Microsoft Windows, applications can expose information to assistive technologies using various application programming interfaces (APIs). Where this is done, NVDA already provides excellent access. However, for some (particularly older) applications, including parts of Windows Live Essentials 2009 and Skype, text can only be accessed by intercepting it as it is being written to the screen. This functionality is also used to review text as it appears on the screen (also known as flat review). In these cases, NVDA is unable to handle RTL language text.

In order to resolve this, we must thoroughly test and investigate to determine the best way to identify and correctly order RTL text written to the screen. Based on this research, implement a solution in NVDA which allows access to RTL text written to the screen, including tracking of the cursor in editable text. This should include working regularly with Arabic speaking users for testing and feedback.

Automated Regression Testing

  • Rationale: Results in a higher quality product (thus improving uptake), reduces time that developers must spend testing
  • Estimated time: 8 weeks
  • Relevant 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 Mozilla Firefox, Mozilla Thunderbird and similar implementations.

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.

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.