QA/Firefox3/TestPlan/UIAccessibility
<< Back to Firefox 3.0 Test Plan
Firefox 3 UI Accessibility Test Plan
Overview
This will outline the process to verify the accessibility of the Firefox 3 user interface. Tests will be designed to protect against regressions in the accessibility code, as well as to ensure the accessibility of new UI elements as they are added during the beta process. Testing will primarily be done through manual Litmus test cases, supplemented by Accerciser testing for the Linux platform only. Gecko rendering of websites (AJAX/ARIA, web forms, etc.) will be tested using the Gecko Rendering Accessibility Test Plan.
= Scope of planned testing =
The accessible UI will be tested with a combination of Litmus test cases using assistive technology products as well as testing tools such as Accerciser. Due to the current differences between assistive technologies across platforms, automated testing would have limited effectiveness.
Platforms
This test plan will be carried out on all Win32 platforms, as well as 32-bit Linux platforms. Mac, 64-bit Windows and 64-bit Linux platforms will not be tested.
Platform Differences
Currently, the underlying accessibility interfaces between Linux and Windows are separate, but theoretically equal in functionality. Windows testing is made more cumbersome by the lack of a comprehensive accessibility testing tool, such as Accerciser on the Linux side.
Every effort will be made to achieve equal functionality on the Windows and Linux platforms. Interface functionality (keyboard, focus logic, controls) should be identical.
Major Test Areas
Litmus Testing
- Keyboard Navigation
- Test that the keyboard can be used to focus and interact with all UI elements that are actionable.
- Ensure that generally accepted cross-platform keyboard standards are used in all aspects of the interface (space bar to activate buttons, etc.)
- Ensure that all toolbar functions and other commonly used functions are accessible via single keystrokes
- Test that all UI elements give specific and usable information to the underlying accessible interface, depending on platform
- Label
- Grouping
- Role
- State
- Description
- Test that the caret can be accurately tracked in any Firefox input field
- Error and Notification Handling
- Ensure that errors interrupt the user experience and are communicated via the assistive technology
- Test that notifications are properly focused and communicated to the user by the assistive technology, in a similar manner to their visual presentation (e.g., if they do not disrupt the view of the webpage, they should not interrupt reading of a webpage via assistive technology)
- Test focus throughout the browser
- Test that focus flows logically from one browser element to the next when the tab key is used (location bar, search box, (toolbar?,) tab controls, main browser window
- Test that focus is brought back to a logical position when exiting menus/dialogs/closing child windows/switching focus back to the Firefox application window
- Ensure that focus is never null
- Test that cursor keys can be used to traverse the entire browser window
- Test that focus can be followed by magnifiers
More to be added.
Accerciser Testing (Linux Only)
- AT-SPI controls
- Label
- Role
- Accurate state information
- Logical grouping information
- Longer description (if necessary)
More to be added.
Schedule/milestones
General Litmus test cases in the Firefox 3 branch Accessibility group for current UI elements and to guard against regressions will be added on an ongoing basis. New UI elements for places, password manager, download manager, etc. are currently scheduled for beta 1. Appropriate Litmus test cases and Accerciser tests will be added ASAP.
References
- The IAccessible2 Standard
- ATK: The Linux Accessibility Toolkit
- AT-SPI C Bindings Reference Manual
- Accerciser: An Interactive Python Accessibility Explorer for the GNOME Desktop
--Tim K 13:46, 20 July 2007 (PDT)