Specification for Gnome Accessibility

Sanity Test Suite


Introduction

This document outlines the specification of a sanity test of Gnome accessibility features, such as keyboard navigation, theming, GOK and Gnopernicus.  The sanity test is run for each scenario given by the Generic User Descriptions (GUDs) outlined below. The GUDs are targeted as typical hardware/software setups of users with varying disabilities.


References

http://cvs.gnome.org/viewcvs/gnome-2.0-test-specs/

http://www.gnome.org/learn/users-guide/latest/user-guide.html


Test Objectives

The goal of this sanity test suite is to ensure a minimal degree of A11y functionality. The broad range of possible configurations used by users with varying levels of disability are approximated by defining six typical Generic User Descriptions (GUDs). The tests can be thought of as a cross-section of every day tasks performed by a user, only operated through the assistive techologies. These usual Gnome user tasks should be doable with assistive technologies, just like they should be without. The future intention is to run this sanity suite against weekly Gnome 2.4 builds provided by Release Engineering.


Generic User Descriptions

There are 6 main user descriptions where the sanity test is executed against (for each one). They are:
  1. User with lesser Visual Impairment - using theming
  2. User with moderate Visual Impairment - using screen magnification
  3. Blind User - using text-to-speech and Braille output
  4. User with lesser Motor Difficulties - using AccessX functionality
  5. User with severe Motor Difficulties - using pointing device
  6. User with severe Motor Difficulties - using switches
1. The scenario where a user has a lesser degree of Visual Impairment is matched to a Gnome environment with an accessibility-enhanced theme, such as High Contrast Large Print Inverse. This user can use a standard keyboard and mouse, but requires increased definition, size and clarity of the widgets, icons and fonts in his or her Gnome desktop.

2. The scenario where a user has a moderate degree of V.I. is matched to a Gnome environment used in conjunction with a screen magnifier, such as 'magnifier' (used by Gnopernicus). Note that the accessibility theme is turned off here. This user can use a standard keyboard and mouse, but requires an enlarged view of sections of the desktop. This view is displayed on a small portion of the screen (or may optionally be displayed via a virtual X display).

3. The scenario where a user is blind is matched to a Gnome environment that uses a standard keyboard, a screen reader (Gnopernicus, for one), and a braille I/O device. The emphasis of testing alternates between checking speech output, and checking both braille+speech output. The alternation is such that every 2nd build is checked for synthesized speech output, and every other build is checked for output in both speech+braille forms. This user cannot use a standard mouse setup. This user requires a keyboard for program navigation and interaction with a screen reader to parse applications and their widgets. They may also use a braille device as a display (in conjunction with a screen reader), as inferred above when checking braille+speech together.

4. The scenario where a user has some degree of Motor Difficulties is matched to a Gnome environment that primarily uses the keyboard for navigation, in conjuction with AccessX and XKB keyboard filters and extensions. This user cannot easily work with a standard keyboard and mouse, due to the fine motor control required to operate these devices. However, such a user is able to emulate mouse and key-combination operations by using a keyboard-only environment that provides mechanisms such as locking modifer keys, ignoring quick key-presses, and simulating mouse movement through the numpad.

5. The scenario where a user has severe Motor Difficulties better suited to dwell selection than switching is matched to a Gnome environment that is operated by a pointing/tracking device. The pointing/tracking device are used in conjunction with an on-screen keyboard (GOK), to drive desktop operations. Operations are enacted by dwell selection. This user is extremely limited in their motor functions and cannot reliably operate the kind of switches mentioned above. Typically, they use a head-mounted pointing device or eye-tracking technology to dwell-select menu options and input words/characters using the on-screen keyboard.

6. The scenario where a user has severe Motor Difficulties is matched to a Gnome environment that makes extensive use of switches, both 1 button and 2 button devices. The switches are used in conjunction with an on-screen keyboard (GOK, for one), to drive desktop operations. The input method used is row/cell scanning. This test scenario is more time-consuming compared with others, and it may be pragmatic to abbreviate some of the test cases. It is feasible to use a mouse without the ball to emulate the function of a switch. This user's mobility is severely restricted but can perform confirmation operations inside the on-screen keyboard application using a switch device. Switches might may come in such forms as a mouth-controlled sip+puff device, or a toggle switch mounted near the users head.


Hardware and Software Requirements (suggested, covers Linux and Solaris)

4 Systems, with minimum specifications as follows:

Solaris 8 Intel
USB 2.0 Controller
128 MB RAM
400MHz Processor
Rage Pro XL video card (ATI mach64)
1024x768*8 resolution
Onboard Intel Audio Device

Solaris 9 Sparc (SunBlade 100)
USB 2.0 Controller
256MB RAM
400MHz Processor
Elite3D Framebuffer (afb)
1280x1024*24 resolution
Internal CS4231Audio Device

SunRay on Solaris 9 Sparc
USB 2.0 Controller
256MB RAM
500MHz Processor
PGX (mach 64)
1152x900*8 resolution
Internal CS4231Audio Device

SuSE Linux 8.1
USB 2.0 Controller
128 MB RAM
400MHz Processor
Rage Pro XL video card (ATI mach64)
1024x768*24 resolution
Onboard Intel Audio Device

Hardware assistive technologies required:

<>http://www.rjcooper.com/switchhopper/
<>
Assistive software:


Gnome Tests

1.
Gnome Component: Login
Test Case Name: gnome01
Test Aim:  Ability to successfully login.


2.
Gnome Component: Gnome Terminal
Test Case Name: gnome02
Test Aim:  Ability to open and close a second (new) terminal and tab.


3.
Gnome Component: Metacity
Test Case Name: gnome03
Test Aim:  Ability to move applications to any other workspace from it's present one.


4.
Gnome Component: Panel
Test Case Name: gnome04
Test Aim:  Ability to add print manager as a launcher in the panel.


5.
Gnome Component: Panel
Test Case Name: gnome05
Test Aim:  Ability to change the background properties for the drawer.


6.
Gnome Component: Gnome Terminal
Test Case Name: gnome06
Test Aim:  Ability to change the font style of the terminal.


7.
Gnome Component: Nautilus
Test Case Name: gnome07
Test Aim:  Ability to drag and drop a text file from nautilus to gedit.


8.
Gnome Component: Nautilus
Test Case Name: gnome08
Test Aim:  Ability to rename a file / folder using the Edit menu.


9.
Gnome Component: Nautilus
Test Case Name: gnome09
Test Aim:  Ability to modify the permissions for a file / folder.


10.
Gnome Component: Nautilus
Test Case Name: gnome10
Test Aim:  Ability to copy and paste using the right click menu options.


11.
Gnome Component: Nautilus
Test Case Name: gnome11
Test Aim:  Ability to empty files / folders from the desktop Wastebasket.


12.
Gnome Component: Gedit
Test Case Name: gnome12
Test Aim:  Ability to create and save a new document.


13.
Gnome Component: Screenshot
Test Case Name: gnome13
Test Aim:  Ability to take the screenshot of a single window.


14.
Gnome Component: Metacity
Test Case Name: gnome14
Test Aim:  Ability to move a window around the screen.


15.
Gnome Component: Gnome Calculator
Test Case Name: gnome15
Test Aim:  Ability to find out the square root of a selected number.


16.
Gnome Component: Themes
Test Case Name: gnome16
Test Aim:  Ability to choose 'High Contrast Large Print Inverse' theme.


17.
Gnome Component: Mixer Applet
Test Case Name: gnome17
Test Aim:  Ability to change volume using arrow keys.


18.
Gnome Component: Screen Resolution
Test Case Name: gnome18
Test Aim:  Ability to change resolution and refresh rate.


19.
Gnome Component: Preferred Applications
Test Case Name: gnome19
Test Aim:  Ability to set preferred text editor to JEdit.


20.
Gnome Component: File Types And Programs
Test Case Name: gnome20
Test Aim:  Ability to create 'foo' filetype and re-edit it.


21.
Gnome Component: Network Proxy
Test Case Name: gnome21
Test Aim:  Ability to change from 'direct' to 'manual' and edit the 'manual' setting.


22.
Gnome Component: Sound Preferences
Test Case Name: gnome22
Test Aim:  Ability to start sound server and play sound file.


23.
Gnome Component: Gnome About
Test Case Name: gnome23
Test Aim:  Ability to view credits and select links in 'About GNOME'.


24.
Gnome Component: Find Files
Test Case Name: gnome24
Test Aim:  Ability to find a specified file in a user's home directory.


25.
Gnome Component: Accessibility Status Applet
Test Case Name: gnome25
Test Aim:  Ability to obseve that applet reflects enabled filters and StickyKey's modifier status.


26.
Gnome Component: Instant Messenger
Test Case Name: gnome26
Test Aim:  Ability to configure IM, and connect to IRC chat server.


27.
Gnome Component: Yelp
Test Case Name: gnome27
Test Aim:  Ability to browse to help chapter and return home in GNOME Help.


28.
Gnome Component: Background Properties
Test Case Name: gnome28
Test Aim:  Ability to alter the desktop background.


29.
Gnome Component: 'XScreensaver'
Test Case Name: gnome29
Test Aim:  Ability to lock and unlock the desktop session.


30.
Gnome Component: Font
Test Case Name: gnome30
Test Aim:  Ability to choose different Desktop font family and size.


31.
Gnome Component: Gnome Terminal
Test Case Name: gnome31
Test Aim:  Ability to view system log via command line.


32.
Gnome Component: Mouse Preferences
Test Case Name: gnome32
Test Aim:  Ability to change cursor size and alter sensitivity.


33.
Gnome Component: Menu And Toolbar Preferences
Test Case Name: gnome33
Test Aim:  Ability to choose alter appearance of menus and toolbars.


34.
Gnome Component: Window Preferences
Test Case Name: gnome34
Test Aim:  Ability to roll up a dialog, and to mouse-over raise a window.


35.
Gnome Component: File Management
Test Case Name: gnome35
Test Aim:  Ability to change icon zoom level and list column information.


36.
Gnome Component: Gnome Terminal
Test Case Name: gnome36
Test Aim:  Ability to perform rudimentary commands.


37.
Gnome Component: Logout
Test Case Name: gnome37
Test Aim:  Ability to successfully logout.


38.
Gnome Component: XDMCP/Chooser
Test Case Name: gnome38
Test Aim:  Ability to browse to remote login selection.


Miscellaneous Tests

(Note: These are additional checks performed outside of the 6 user description sanity rundown)
1.
Verify that visual bell works for whole window and for indivdual application