GNOME Accessibility Team
The following content is being kept here for historical preservation only. The information contained herein may or may not be accurate. It is definitely not being maintained.
GNOME Accessibility QA
Testing GNOME applications for Accessibility
Contacts: Muktha Narayan, Hema Seetharamaiah, Arvind Samptur
Contents
1. Setup
- Simple Testing
- Keyboard Navigation
- Theme Compliance
- General Principles
- Tool Testing
- at-poke
- Gnopernicus
- GOK
2. Testing
- Keyboard Navigation
- Theme Compliance
- General Principles
- at-poke
- Gnopernicus
- GOK
Setup
Before one can proceed with testing accessibility, one needs to have a basic setup on his/her machine. This section will highlight the different kinds of testing and their relevant test setup.
Enabling Accessibility
To verify the accessible information accessibility needs to be enabled. Accessibility is enabled as follows,
Run “gconftool-2 -s -t boolean /desktop/gnome/interface/accessibility true”
Or
Include 'GNOME_ACCESSIBILITY=1' in the user profile file.
After enabling accessibility, if an application is run from the command prompt, the following messages will be displayed:
Bonobo accessibility support initialized
GTK Accessibility Module initialized
ATK Accessibility Bridge initialized
Currently, accessibility is disabled in GNOME by default.
Simple Testing
A typical GNOME setup would generally suffice in this case. The testing can be manual or automated and doesn't require any specialised tools. Keyboard Navigability and Theme Compliance of an application can be verified in this form of testing.
Keyboard Navigation
Category: Simple Testing
Enable Accessibility: Optional
Test Aim
Mouse usage depends on visual feedback. Keyboard navigation is meant to be an alternative for mouse usage and facilitates visually impaired users. The aim would be to verify that every feature of an application or desktop is usable via keyboard.
Test Setup Notes
- Testing can be started after a typical install of the desktop.
Tester Notes
- Keep the mouse aside and see if each of the application components can be accessed and activated.
- Check if all the actions that can be performed with the mouse can be performed with the keyboard too.
- Check if the keyboard bindings are consistent.
- For controls having a mnemonic, check if the specific mnemonic gives them focus.
- Check if the keyboard shortcuts activate their respective functions. Check if all frequently done actions of the GUI have keyboard shortcuts.
- Ensure that using the tab and arrow keys follows a logical tabbing order.
- Verify that established conventions are used for keyboard access.
Test Cases: Keyboard Navigation
Theme Compliance
Category: Simple testing.
Enable Accessibility: Optional
Test Aim
In GNOME, all applications should be customisable in terms of colour, font and display layout. GNOME has a special set of themes available for visually impaired which are available through the theme capplet. The test aim here is,
- To ensure that the desktop and the applications respect these themes.
- A user should be able to override the default settings for an application or the desktop as a whole.
Test Setup Notes
- Test can be started after a typical install of the desktop.
Ensure that the accessible themes are available and listed in the Theme Capplet. If it’s not available, then download it from: http://ftp.gnome.org/pub/gnome/sources/gnome-themes/.
Tester Notes
- Work with an application across theme, font and size changes and ensure that the themes are respected.
- Use the inverse theme and ensure that all information is available. This is equivalent to printing screen shots to a black and white printer and checking for information loss.
- Work with all themes and look out for any discrepancies in the user interface of the application when themes are changed.
- Check if any information is provided only through colour.
- Change the font and check if the settings are maintained.
Test Cases: Theme Compliance
Testing General Principles
Category: Simple testing.
Enable Accessibility: Optional
Test Aim
Mouse interaction: Not everybody can use a mouse with equal dexterity and some users may have difficulty seeing or following the mouse pointer, it is necessary that the mouse interaction guidelines be followed.
Audio: Users who have difficulty hearing, as well as those who work with sound on the computers turned off, will be disadvantaged if the application relies on only sound to convey information.
Test Setup Notes
- A typical GNOME release installed on a machine is sufficient. For sound specific testing, a sound card is required on the machine.
Tester Notes
- Ensure that all mouse operations can be cancelled through the keyboard and the need for multiple mouse clicks is absent or minimal.
- Check if sound is used as the only means of conveying any items of information.
Test Cases: General principles
Testing with Tools
In addition to a typical GNOME setup, one would require to enable accessibility for performing this type of testing. This kind of testing is required to test the accessible information provided by the application to the AT tools. Testing here will exercise the entire accessibility framework. Here the tester/user will be required to install these tools and spend some time getting familiar with them. These tools are:
- at-poke
- Gnopernicus
- GOK
at-poke
Category: Tools Testing
Enable Accessibility: Yes
Test Aim
At development stage, this tool can be used to verify the accessible information provided by an application. The aim here would be to verify the accuracy and completeness of the information provided.
Test Setup Notes
- The at-poke sources have to be downloaded from GNOME CVS and built. Alternatively appropriate pre-built binaries can also be used.
A README is also available for the tool at: http://cvs.gnome.org/lxr/source/at-poke/README.
- at-poke will require the accessibility components to be installed in addition to the GNOME desktop install.
Tester Notes
- Enable accessibility.
- Start the application of interest.
- Start at-poke. Verify that the application is listed in the at-poke window.
- Click on the ‘poke’ button and the application widget hierarchy opens up in a separate window.
- Select any widget displayed in the at-poke window. The available accessible information can be checked.
- Ensure that appropriate name and descriptions is provided for a widget as per its context.
- Check this for all widgets of the application.
Test Cases: at-poke
Gnopernicus
Category: Tools Testing
Enable Accessibility: Yes
Test Aim
The aim here is to test an application’s accessibility via the speech support of Gnopernicus.
Test Setup Notes
Gnopernicus can be used with the following speech synthesisers
The install procedure for FreeTTS and Festival have been covered here.
To have Gnopernicus launched by default on login
- create directory ~/.gnome2 if it doesn't exist yet
- create file ~/.gnome2/session-manual
- contents of session-manual file:
[Default] num_clients=1 0,RestartStyleHint=3 0,Priority=60 0,RestartCommand=gnopernicus
a) Gnopernicus using Free TTS
- Requisite non gnome packages- Free TTS
- Instructions for installing Free TTS are available here.
b) Gnopernicus using Festival
- Requisite non gnome packages- Festival.
- Instructions for installing Festival are available here.
- The following environment/initialisation variables need to be set. Open the .bash_profile file and add the following lines to it.
- export FESTIVAL=1
- export LD_LIBRARY_PATH=/gnome2_directory/lib
- export GTK_MODULES=libgail:libatk-bridge
Note: Gnopernicus is available in pre-release forms in GNOME CVS. Build and installation instructions are available at http://www.baum.ro/gnopernicus.html#_Toc15444294.
Tester Notes
- After the above setup, logout and login into the desktop.
- Start Gnopernicus.
- Test the various features in sync with an application of choice.
- The focus should be to ensure that all critical features of the application are being communicated to the user through voice.
Test Cases: Gnopernicus
GOK
Category: Tools Testing
Enable Accessibility: Yes
Test Aim
An application should be usable via GOK, i.e. keyboard usage should not be needed. The aim here would be to work with an application and the desktop in general via GOK.
Test Setup Notes
GOK testing will need a typical GNOME install setup.
GOK installation instructions can be found at http://www.gok.ca/INSTALL.shtml
Tester Notes
- Login into the GNOME desktop
- Run GOK.
- Start an application.
- And try providing input to the application via a pointing device (e.g. mouse) and GOK.
- Work using the auto completion and word prediction features of GOK.
Test Cases:GOK
Testing
In the following sections sample instances and detailed testcases are provided for keyboard navigation, theme compliance, general principles, at-poke, gnopericus and GOK.
Test Cases for Keyboard Navigation
Sample Instances
Keynav broken -
- In glade application, the widgets from the 'Palette' cannot be selected and placed on say a window with the keyboard.
- The individual icons in notification area applet cannot be traversed with the keyboard.
The Test Cases:
Test Case No |
Test Case |
|
General |
Key_001 |
Ensure that a logical Keyboard Navigation order is followed. When navigating around a window using Tab key, the keyboard focus should move between controls in a predictable order (from left to right and top to bottom). |
Key_002 |
Pressing Ctrl+F1 should enter Keyboard Tooltips mode. Pressing Ctrl+F1 or Esc again should exit the keyboard tooltip mode. Tooltip should appear near its control. |
Key_003 |
Pressing Enter should activate the default window action. |
Key_004 |
Pressing Esc should close a secondary window that has Cancel or Close buttons, or in menus or other popup windows that have no explicit close controls to click on. |
Key_005 |
Pressing Ctrl+W should close a top level window (those with a menubar) with file close. |
Key_006 |
Pressing Ctrl+Q should close a top level window (those with a menubar) with file quit. |
Key_007 |
Pressing Ctrl+Shift+Q should close a terminal. |
Key_008 |
Tab/Shift+Tab should move to the next/previous object or control in all components of the GNOME desktop. |
Key_009 |
User should be able to navigate within objects or controls of the components of GNOME desktop using the arrow keys. |
Key_010 |
Spacebar should activate/select the current object or control in the components of GNOME desktop |
Key_011 |
From anywhere on the desktop, the user should be able to get to any GNOME application through the following key sequences : |
|
* Alt+F1 - should open the GNOME Menu from which any GNOME application can be selected. This is a customisable shortcut. |
|
* Alt+F2 - should start the Run Program from which any GNOME application can be selected. This is a customisable shortcut. |
|
Keyboard Focus |
Key_012 |
Check if the current input position is clearly displayed at all times. In controls that include a scrolling element, it is not always sufficient to highlight just the selected element inside that scrolling area, as it may not always be visible. It is required to give focus to the control area also. |
Key_013 |
Check if the input focus is shown in exactly one window at all times. If a single window has separate panes, only one pane should have the focus indicator, and focus indicators should be hidden in all the other panes. If it's important to continue showing which item in an unfocused list is selected, for example, use a secondary focus indicator. |
Key_014 |
Verify that when moving among objects, the visual focus indicator is easy to identify. Using only the keyboard, navigate through the software, especially menus, dialogs, forms and property boxes. Verify that the visual focus indicator is clearly visible and easy to identify when tab or arrow is used to move to the next object. |
|
Keyboard Navigation for Desktop Background |
Key_015 |
Ctrl+Alt+d should hide all windows and focus the desktop background. Focus should be given to the desktop icon that most recently had focus. This sequence is a customisable shortcut. |
Key_016 |
Ctrl+Alt+Tab should cycle between panels and the desktop. This sequence is a customisable shortcut. |
Key_017 |
Pressing Tab should move to the next icon alphabetically. |
Key_018 |
Pressing any letter or number should move to the first icon alphabetically which has the same initial character. |
Key_019 |
F2 should be used to rename the desktop icon. Then type in the new name and press return. |
Key_020 |
Pressing Shift+F10 should display the popup menu of the icon. |
Key_021 |
Ctrl+F10 should display the background menu. |
|
Keyboard Navigation for Panel |
Key_022 |
Ctrl+Alt+Tab should cycle between the panels and desktop. While holding down Ctrl and Alt, use Tab to cycle through the panels which are highlighted in turn. Note that drawers, which are a form of panel, are included in the panel cycling. This sequence is a customisable shortcut. |
Key_023 |
Ctrl+F10 should display the panel menu. |
Key_024 |
Pressing Tab should move to the next panel object. |
Key_025 |
Shift+F10 should display the panel object popup menu. |
Key_026 |
Spacebar should start a launcher, open or close a drawer, open a menu or select an applet control. |
Key_027 |
Spacebar should open the drawer, or close the drawer if already open. |
Key_028 |
Arrow key should enter an open drawer. |
Key_029 |
Pressing Esc should exit and close the drawer. |
Key_030 |
Pressing Shift+Esc should exit and leave the drawer open |
Key_031 |
Arrow keys should be used to enter and navigate a menu. If the menu is a part of a menubar (such as the Applications and Actions menubar) using the left arrow at the top level of one menu, should move to the previous menu in the menubar. |
Key_032 |
Esc should exit and close the menu. |
Key_033 |
Pressing Shift+F10 should open a menu item popup menu, if any. |
Key_034 |
Spacebar should select a menu item. |
Key_035 |
Pressing F10 should open the Applications Menu. |
Key_036 |
Pressing Ctrl+F10 should cycle between the Applications Menu and Window List. |
Key_037 |
Pressing Tab should navigate to an applet. The applet controls should be navigable with arrow keys. |
Key_038 |
User should be able to move an object within a panel or drawer by following the below sequence : |
|
* use Shift + F10 to open the object popup menu |
|
* select Move |
|
* arrow keys - should move the object along the panel. |
|
* shift + arrow keys - should move the object along the panel, pushing other objects in front of it. |
|
* ctrl + arrow keys - should move the object along the panel, jumping over other objects in the way. |
|
* tab - should move the object to the next panel. |
|
* spacebar - should exit the move mode |
|
Keyboard Navigation for Workspaces and Windows |
Key_039 |
Ctrl+Alt+Arrow keys should move to the next/previous workspaces. |
Key_040 |
Alt+Tab should cycle between windows. This sequence is a customisable shortcut. |
Key_041 |
Alt+Esc should cycle between windows. This sequence is a customisable shortcut. |
Key_042 |
Alt+Spacebar should open the Window Menu. |
Key_043 |
Alt+F4 should close the window. |
Key_044 |
User should be able to move a focused window by following the below sequence : |
|
* open the Window Menu |
|
* select Move |
|
* arrow keys - should move the in the direction of the arrow key |
|
* Shift + Arrow keys - should move the window to align with the next window edge, panel edge or screen edge. |
Key_045 |
User should be able to resize a focused window by following the below sequence : |
|
* open the Window Menu |
|
* select resize, |
|
* And use the Arrow Keys. |
|
Keyboard Navigation for GNOME Application Menubar |
Key_046 |
F10 should open the first menu in the application menubar. |
Key_047 |
Alt+Access keys (letters which are underlined in menu titles) should open the associated menu in the menubar. |
Key_048 |
Access keys (letters that are underlined in menu items) should select the associated menu item. |
Key_049 |
Shortcut keys (which are shown to the right of the menu item) should perform the specified function. |
Key_050 |
Esc key should unpost all the menus and return the focus to the last control that had it. |
|
Keyboard Navigation for GNOME Application Menu |
Key_051 |
Up/Down arrow keys should move focus to previous/next menu item. |
Key_052 |
Pressing Right arrow key should move the focus to first item of submenu if focused item is a submenu. Otherwise focus should move to the next menu on menubar. |
Key_053 |
Pressing Left arrow key should move the focus back to parent item if focused item is a submenu. Otherwise focus should move to the previous menu on menubar. |
Key_054 |
Pressing Esc should unpost all menus and return focus to last control that had it. |
Key_055 |
Pressing Return should activate focused menu item, close all menus and return focus to last control that had it. |
Key_056 |
Pressing Spacebar should activate focused menu item, close all menus and return focus to last control that had it unless the focused menu item is a check box or radio button. In that case, the menu remains open to allow further selections to be made. |
|
Keyboard Navigation for GNOME Application Dialog |
Key_057 |
Tab should move focus to the next control in the dialog. |
Key_058 |
Alt+Access key (letters which are underlined in each control in the application dialog) should select/activate the corresponding control. |
Key_059 |
Ctrl+PageUp/PageDn should enable navigation between tabbed sections in the dialog, if present. |
Key_060 |
Return key should select the default window action. |
|
Keyboard Navigation for Pushbutton |
Key_061 |
Space bar should activate the focused button. |
Key_062 |
Return key should activate the focused button. |
|
Keyboard Navigation for Checkbox |
Key_063 |
Spacebar should activate or deactivate the checkbox. |
|
Keyboard Navigation for Radio Button |
Key_064 |
Arrow keys should cycle the selection of the radio button. |
|
Keyboard Navigation for Spin Box |
Key_065 |
Home/End should move to the start/end of the entry field. |
Key_066 |
Horizontal Arrow Keys should move forwards and backwards in the entry field |
Key_067 |
Vertical arrow keys should increase or decrease the value by one. |
Key_068 |
Page Up/Page Down should increase or decrease the value in specified steps. |
|
Keyboard Navigation for Drop Down List |
Key_069 |
Spacebar should open the list or, if the list is already open, select the currently focused list item and close the list |
Key_070 |
Arrow keys should move up and down the list. |
Key_071 |
Esc should close the list. |
|
Keyboard Navigation for Combo Box |
Key_072 |
Pressing Home/End should move to the start/end of the entry field. |
Key_073 |
Horizontal arrow keys should move forward and backward in the entry field. |
|
Keyboard Navigation for Tabbed Notebook Window |
Key_074 |
When a tab label has focus, pressing Left/Right arrow should move focus to previous/next tab label, but shouldn't bring the tab to front. |
Key_075 |
When a tab label has focus, pressing Spacebar should bring the focused tab to front. |
Key_076 |
When a tab label has focus, pressing Tab or Ctrl+Down arrow should move focus to first control on front-most tab. |
Key_077 |
When a control on a tab has focus, pressing Ctrl+PgUp/PgDn should bring previous/next tab to front |
Key_078 |
When a control on tab has focus, pressing [Shift+] Ctrl+Tab should move focus to previous/next control outside the notebook control. |
|
Keyboard Navigation for List (implemented by GtkTreeView) |
Key_079 |
When column headers have focus: |
|
a) Left/Right arrows should move focus to previous/next header. |
|
b) Spacebar should sort the list. |
|
c) Down arrow should move focus into list content area. |
Key_080 |
When list has focus, Arrow keys should focus and select only next row/column |
Key_081 |
When list has focus, PageUp/Down should focus and select only top/bottom row of view, then top/bottom row of previous/next view when pressed again. |
Key_082 |
When list has focus, Home/End should focus and select only first/last item in list. |
Key_083 |
When list has focus, Shift+Arrow keys should focus next row/column and that row to current selection (if list is multi-select; otherwise just focus and select that row) |
Key_084 |
When list has focus, Shift+PageUp/Down should focus top/bottom row of view and select all rows in between. |
Key_085 |
When list has focus, Shift+Home/End should focus first/last row of list and select all rows in between. |
Key_086 |
When list has focus, Ctrl+Arrow keys should move focus to next row/column but shouldn't change selection. |
Key_087 |
When list has focus, Ctrl+PageUp/Down should move focus to top/bottom row of view, but shouldn't change selection. |
Key_088 |
When list has focus, Ctrl+Home/End should move focus to first/last item in list but shouldn't change selection. |
Key_089 |
When list has focus, Ctrl+Spacebar should add focused row to existing selection, if list is multi-select, otherwise just select focused row. |
Key_090 |
When list has focus, for textual items, Spacebar should edit name if available and for checkbox items should toggle checkbox. |
Key_091 |
When list has focus, Return should perform the same action as double-clicking list item |
Key_092 |
When list has focus, Ctrl+A should select all rows (if list is multi-select). |
Key_093 |
When list has focus, Ctrl+F should pop up 'find' textbox into which the user can type a word to search for in the list; dismiss by pressing Esc. |
|
Keyboard Navigation for TreeView |
Key_094 |
All the above test cases for List. |
Key_095 |
Plus(+) key should expand selected node (Shift required according to keyboard layout) |
Key_096 |
Minus (-) key should collapse selected node (doesn't work on keypad). |
Key_097 |
Backspace should select the currently selected node's parent node. |
|
Keyboard Navigation for Slider |
Key_098 |
Pressing Left or Down arrow key should decrease value by small amount. Note: both keys should work regardless of slider orientation. |
Key_099 |
Pressing Right or Up arrow should increase value by small amount. Note: both keys should work regardless of slider orientation. |
Key_100 |
Pressing PgUp/PgDn should increase/decrease value by larger amount. |
Key_101 |
Pressing Home/End should set slider to minimum/maximum value. |
|
Keyboard Navigation for Single Line Entry |
Key_102 |
Left/right arrow should move cursor left/right one character. |
Key_103 |
Ctrl+left arrow should move cursor to start of current word. Pressing Ctrl+left arrow again should move cursor to start of previous word. |
Key_104 |
Ctrl+right arrow should move cursor to end of current word. Pressing Ctrl+right arrow again should move cursor to the end of next word. |
Key_105 |
Pressing Home/End should move cursor to start/end of line |
Key_106 |
Pressing Shift+left/right arrow should select character to left/right of cursor, adding it to the current selection. |
Key_107 |
Shift+Ctrl+left arrow should select to the start of the current word. Pressing Shift+Ctrl+left arrow again should select to the start of the previous word. |
Key_108 |
Shift+Ctrl+right arrow should select to the end of the current word. Pressing Shift+Ctrl+right arrow again should select to the end of the next word. |
Key_109 |
Pressing Shift+Home/End should select to the start of line. |
Key_110 |
Pressing Ctrl+A should select all text in buffer. |
|
Keyboard Navigation for Multi Line Entry |
Key_111 |
All the above test cases for single line entry. |
Key_112 |
PgUp/Dn should move cursor up/down one page, scrolling the line the cursor is on to the top of the view. |
Key_113 |
Ctrl+Up arrow should move the cursor to start of the current para. Pressing Ctrl+Up arrow again should move the cursor to start of previous para. |
Key_114 |
Ctrl+Dn arrow should move the cursor to end of the current paragraph. Pressing Ctrl+Dn arrow again should move the cursor to end of next para. |
Key_115 |
Ctrl+PgUp/PgDn should scroll view left/right by one view width. |
Key_116 |
Ctrl+Tab should move focus out of text field to next control. |
Key_117 |
Ctrl+Home/End should move cursor to start/end of document. |
Key_118 |
Shift+PgUp/Dn should select to start/end of current view. Pressing Shift+PgUp/Dn again should select to start/end of next page. |
Key_119 |
Shift+Ctrl+Up arrow should select to the start of current paragraph. Pressing Ctrl+Up arrow again should select to the start of previous para. |
Key_120 |
Shift+Ctrl+Down arrow should select to the end of current paragraph. Pressing Ctrl+Down arrow again should select to the end of the next para. |
Key_121 |
Pressing Shift+Home/End should select to the start/end of the document. |
Test Cases for Theme Compliance
Sample Instances
Theme non-compliant -
The separation between workspaces cannot be distinguished in the workspace switcher applet when the HighContrastInverse theme is used.
- The main window of control center (gnome-control-center –use-shell) does not change with theme.
The Test Cases:
1) Themes
Test Case No |
Test Case |
Theme_01 |
Check if application respects the 'LargePrint' theme. When the 'LargePrint' theme is selected from the theme capplet, the font size of the component should increase. |
Theme_02 |
Check if the application respects the 'HighContrast' theme. When the 'HighContrast' theme is selected from the theme capplet, the foreground of the application should be changed to black, the background of the application should be changed to white and the component should be displayed in high contrast. |
Theme_03 |
Check if the application respects the 'HighContrastLargePrint' theme. When the 'HighContrastLargePrint' theme is selected from the theme capplet, the foreground of the application should be changed to black, the background of the application should be changed to white, the component should be displayed in high contrast and the font size of the component should increase. |
Theme_04 |
Check if the application respects the 'HighContrastInverse' theme. When the'HighContrastInverse' theme is selected from the theme capplet, the foreground of the application should be changed to white, the background of the application should be changed to black and the component should be displayed in high contrast. |
Theme_05 |
Check if the application respects the 'HighContrastLargePrintInverse' theme. When the 'HighContrastLargePrintInverse' theme is selected from the theme capplet, the foreground of the application should be changed to white, the background of the application should be changed to black, the component should be displayed in high contrast and the font size of the component should increase. |
Theme_06 |
Check if the application respects the 'LowContrast' theme. When the 'LowContrast' theme is selected from the theme capplet, the application should be displayed in low contrast. |
Theme_07 |
Check if the application respects the 'LowContrastLargePrint' theme. When the 'LowContrastLargePrint' theme is selected from the theme capplet, the application should be displayed in low contrast and the font size of the application should increase. |
2) Fonts
Test Case No |
Test Case |
Font_01 |
Check if the font styles and sizes are hard-coded. The user should be able to adjust all sizes and typefaces. |
Font_02 |
Verify whether objects are labeled with names that make sense when taken out of context. |
Font_03 |
Check if the same label is used more than once in the same window. |
Font_04 |
Check if the labels are positioned consistently. Labels should be immediately below large icons, immediately to the right of small icons and immediately above or to the left of other controls. |
Font_05 |
Ensure that the static labels that identify other controls end in a colon. For e.g., Username: to label a text field into which the user should type their username. |
Font_06 |
Check if labels are used that are spelled differently but sound the same. For e.g. : 'Red' and 'Read' |
Font_07 |
Ensure that static text labels that identify other controls immediately precede those controls in the tab order. |
General Principles Test Cases
Sample instance
General principles broken -
- In glade, in the 'Project options' dialog, under C options, the labels 'Source File:' and 'Header File:' are repeated.
- The popup menu of the individual icons in notification area applet can only be invoked through the mouse.
The Test Cases:
1) Mouse Interaction:
Test Case No |
Test Case |
Mouse_01 |
If an application depends on input from mouse button 2 or 3, provide an alternative to do the same operation through keyboard and/or button 1. For e.g. in case of the popup menus that are invoked through mouse button 2, a keyboard alternative is present. Usually all the popup menu functions are available through menu bar so that user can navigate to the menu bar or he can invoke popup menu with Shift+F10 to have the same functionality. |
Mouse_02 |
Check if all mouse operations can be cancelled. Pressing the Esc key should cancel any mouse operation in progress such as dragging and dropping a file in a file manager, or drawing a shape in a drawing program. |
Mouse_03 |
Verify that the application does not warp the mouse pointer, or restrict mouse movement to part of the screen. |
Mouse_04 |
Ensure that the use of chording (pressing multiple buttons simultaneously) is avoided. |
Mouse_05 |
Ensure that for no purpose the use of multiple (triple- or quadruple-) clicking actions is required, unless an accessible alternative method of performing the same action is provided. |
2) General Principles:
Test Case No |
Test Case |
General_01 |
Verify that all application settings can be restored to their defaults. |
General_02 |
Ensure that after installation, the application can be used without the user having to insert disk or CD at any time. Depending on user's particular disability, they may find it difficult to physically insert or change disks. |
General_03 |
Check if the most frequently used functions are found at the top level of the menu structure. For example in gedit, 'new', 'open', 'close', 'exit' etc should not be deep in the menu structure. It might be difficult for users to remember where to find them and also time consuming to access. |
General_04 |
Ensure that online help and manuals are available. |
General_05 |
Check if confirmation dialogs are available to help prevent users from doing the wrong things like overwriting a file which cannot be easily undone and other mouse actions that could be done by accident. |
General_06 |
Ensure that sound is not used as the only means of conveying any items of information. The user should be given the option to have all audio information provided in a visual way as well |
General_07 |
Check if an option is available to turn off any animation that is used and that the animated information should be available in at least one non-animated format. |
AT-Poke Test Cases
Sample instance
Inaccessible information -
- The information in the pdf and ps document loaded in ggv is not available through at-poke.
The Test Cases:
Test Case No |
Test Case |
Atpoke_01 |
Name, Role, Description, State, Position, and Size should be displayed in the at-poke window for each of the widgets. |
|
ATK Testing for Button |
Atpoke_02 |
Select the button from the list displayed on the left in At poke and click on the 'Grab focus' button in At poke. Verify if the focus in the application moves to the button. |
Atpoke_03 |
Verify the 'Name', 'Description' and 'Keybinding' of each of the actions that has been implemented (For e.g., click, press, release) |
Atpoke_04 |
Check if the text information (button label, caret offset, attributes) and image information (description, size) on the button is displayed in At poke. |
|
ATK Testing for Label |
Atpoke_05 |
Check if the text of the label is displayed in the At poke window. The text attributes and caret offset should also be displayed. |
|
ATK Testing for Checkbox |
Atpoke_06 |
Select the checkbox from the list displayed on the left in At poke and click on the 'Grab focus' button in At poke. Verify if the focus in the application moves to the checkbox. |
Atpoke_07 |
Verify the 'Name', 'Description' and 'Keybinding' of each of the actions that has been implemented (For e.g., click, press, release) |
Atpoke_08 |
Click on the 'Take action' button on the right side of at-poke window and verify if the checkbox in the application is enabled/disabled. |
|
ATK Testing for Radio Button |
Atpoke_09 |
Select the radio button from the list displayed on the left in At poke and click on the 'Grab focus' button in At poke. Verify if the focus in the application moves to the radio button |
Atpoke_10 |
Verify the 'Name', 'Description' and 'Keybinding' of each of the actions that has been implemented (For e.g., click, press, release) |
Atpoke_11 |
Click on the 'Take action' button on the right side of at-poke window and verify if the radio button in the application is selected. |
|
ATK Testing for Spin Box |
Atpoke_12 |
Select the spin button from the list displayed on the left in At poke and click on the 'Grab focus' button in At poke. Verify if the focus in the application moves to the spin button |
Atpoke_13 |
Verify the 'Name', 'Description' and 'Keybinding' of each of the actions that has been implemented (For e.g., activate) |
Atpoke_14 |
Change the text and caret offset in the at-poke window and verify if the change is reflected in the application spin button and vice-versa. |
Atpoke_15 |
Select the value displayed in the spin button and click on the copy button in at-poke. Paste the copied text in the spin button by clicking on the paste button in at-poke window. |
Atpoke_16 |
Change the value displayed in the at-poke window and verify if the change is reflected in the application spin button. |
|
ATK Testing for Drop Down List |
Atpoke_17 |
Select the drop down list from the list displayed on the left in At poke and click on the 'Grab focus' button in At poke. Verify if the focus in the application moves to the drop down list. |
Atpoke_18 |
Verify the 'Name', 'Description' and 'Keybinding' of each of the actions that has been implemented (For e.g., press) |
Atpoke_19 |
Click on the 'Take action' button on the right side of at-poke window and verify if the drop down list in the application is opened. |
|
ATK Testing for Combo Box |
Atpoke_20 |
Verify the 'Name', 'Description' and 'Keybinding' of each of the actions that has been implemented (For e.g., press). |
Atpoke_21 |
Click on the 'Take action' button on the right side of at-poke window and verify if the combo box in the application is opened. |
|
ATK Testing for Slider |
Atpoke_22 |
Select the slider from the list displayed on the left in At poke and click on the 'Grab focus' button in At poke. Verify if the focus in the application moves to the slider. |
Atpoke_23 |
Change the value displayed in the at-poke window and verify if the change is reflected in the application slider. |
|
ATK Testing for Tabbed Notebook Window |
Atpoke_24 |
Select the notebook from the list displayed on the left in At poke and click on the 'Grab focus' button in At poke. Verify if the focus in the application moves to the first page tab in the notebook. |
Atpoke_25 |
Verify if all the notebook page tabs of the notebook are listed in the 'Selection' list in the at-poke window. Clicking on any of the notebook page tabs listed in the 'Selection' list should bring that particular page tab to the front in the application. |
|
ATK Testing for List (Implemented by GtkTreeView) |
Atpoke_26 |
Select the list from the list displayed on the left in At poke and click on the 'Grab focus' button in At poke. Verify if the focus in the application moves to the list. |
Atpoke_27 |
Verify the table and selection information displayed in the at-poke window for the list. |
Atpoke_28 |
For each of the columns displayed under the list in the at-poke window, verify if clicking on the 'Grab focus' button in at-poke moves the focus in the application to the column header (if any). |
Atpoke_29 |
For each of the columns displayed under the list in the at-poke window, verify the 'Name', 'Description' and 'Keybinding' of each of the actions that has been implemented (For e.g., click, press and release). Verify each of the actions by clicking on the 'Take action' button. |
|
ATK Testing for Tree |
Atpoke_30 |
Select the tree view from the list displayed on the left in At poke and click on the 'Grab focus' button in At poke. Verify if the focus in the application moves to the tree view. |
Atpoke_31 |
Verify the table and selection information displayed in the at-poke window for the tree view. |
Atpoke_32 |
For each of the columns displayed under the tree view in the at-poke window, verify if clicking on the 'Grab focus' button in at-poke moves the focus in the application to the column header (if any). |
Atpoke_33 |
For each of the columns and node displayed under the tree view in the at-poke window, verify the 'Name' and 'Description' of each of the actions that has been implemented (For e.g., click, press, release, activate, expand or contract). Verify each of the actions by clicking on the 'Take action' button. |
|
ATK Testing for Menubar |
Atpoke_34 |
Verify if each of the menus in the menubar is displayed under the 'Selection' list in the at-poke window. Clicking on any of the menus listed in the 'Selection' list should invoke that particular menu in the application. |
|
ATK Testing for Menu |
Atpoke_35 |
Verify if the menu items in the menu are displayed under the 'Selection' list in the at-poke window. And selecting the menu items from the 'Selection' list should invoke the particular menu item. |
Atpoke_36 |
Verify the 'Name', 'Description' and 'Keybinding' of each of the actions that has been implemented (For e.g., click). Verify if the menu is invoked when the 'Take action' button in the at-poke window is clicked. |
|
ATK Testing for Single Line and Multiline Entry |
Atpoke_37 |
Select the single line entry from the list displayed on the left in At poke and click on the 'Grab focus' button in At poke. Verify if the focus in the application moves to the entry. |
Atpoke_38 |
Verify the 'Name', 'Description' and 'Keybinding' of each of the actions that has been implemented (For e.g., activate) |
Atpoke_39 |
Change the text and caret offset in the at-poke window and verify if the change is reflected in the single line entry of the application and vice-versa |
Atpoke_40 |
Select the text displayed in the single line entry and click on the copy button in at-poke. Paste the copied text in the single line entry by clicking on the paste button in at-poke window. Similarly verify the 'Delete' and 'Cut' operations. |
Gnopernicus Test Cases
Sample instance
Inaccessible information -
- Gnopernicus does not read out the information in the pdf and ps document loaded in ggv.
The Test Cases:
Test Case No |
Test Case |
Gnoper_01 |
Verify if the icon names and window titles are spoken. |
|
E.g.: Switch from a nautilus window to a gnome-terminal window. The tool will now read out the title of the terminal window. |
|
ATK Testing for Single Line and Multi Line Entry |
Gnoper_02 |
Bring the focus to the single line entry or multi line entry in the application and verify if the text is spoken. |
|
E.g.: Open character map application and key in some text, say “Hello”, into the 'Text to Copy' field (Single line entry widget). When focus is brought into the 'Text to Copy' field, Gnopernicus reads out - “Text to Copy, Text, Hello” |
Gnoper_03 |
While entering text in the text entry field, verify if each letter is spoken. |
Gnoper_04 |
Select a portion of the text and verify if the selected text is spoken. |
|
ATK Testing for Menu |
Gnoper_05 |
Verify if the information about the menu items, the number of menu items and their state is provided through speech. |
|
E.g.: Click on the 'File' menu in the gnome-terminal. The tool reads out - “'File' ,menu, Five items” |
Gnoper_06 |
Verify that the tool reads out menu items, shortcut/accelerator and their availability. |
|
E.g.: Click on the 'Edit' menu in gnome-terminal and place the cursor on the 'Copy' menu item. Gnopernicus reads out - “Copy, Menu item, Shortcut Shift+Ctrl+C, Accelerator Alt+E+C, Available” |
|
ATK Testing for Push Button |
Gnoper_07 |
Verify that Gnopernicus speaks out the name of the push button and the shortcut key for the button. |
|
E.g.: Open the 'Background' properties capplet window. Gnopernicus reads out - “Close, push button, shortcut Alt+C” |
|
ATK Testing for Radio Button |
Gnoper_08 |
Verify that Gnopernicus speaks out the label for the radio button, the shortcut key and the state for the button. |
|
E.g.: Open the 'Gedit' application. Invoke Edit -> Preferences and click on the 'Wrap Mode' option in the left hand tree under the 'Editor' category. Bring the focus to the 'Never Wrap Lines' radio button in the 'Wrap Mode' section. Gnopernicus reads out - “Never Wrap Lines, radio button, shortcut Alt+N, checked” |
|
ATK Testing for Check Box |
Gnoper_09 |
Verify that Gnopernicus speaks out the label for the check box, the shortcut key and the state for the check box. |
|
E.g.: Open the 'Gedit' application. Invoke Edit -> Preferences and click on the 'Font & Colors' option in the left hand tree under the 'Editor' category. Bring the focus to the 'Use default theme font' check box in the 'Font' section. Gnopernicus reads out - “Use default theme font, check box, shortcut Alt+U, unchecked” |
|
ATK Testing for Spin button |
Gnoper_10 |
Verify that Gnopernicus speaks out the label for the spin button and the current value of the spin button. |
|
E.g.: Open the 'Gedit' application. Invoke Edit -> Preferences and click on the 'Tabs' option in the left hand tree under the 'Editor' category. Bring the focus to the 'Set tabs width equivalent to' spin button. Gnopernicus reads out - “Set tabs width equivalent to, spin button, current value 8” |
GOK Test Cases
Sample Instance
Fixme: Find one
The Test Cases:
Test Case No |
Test Case |
Gok_01 |
Verify that GOK enables / disables the 'Menus' and 'Toolbars' buttons based on the kind of application invoked. |
|
E.g.: The 'Menus' and 'Toolbars' buttons are disabled for the 'Font properties' capplet. The same buttons are enabled for the 'Gedit' application. |
Gok_02 |
Verify that the GOK onscreen keyboard provided by the 'Compose' button can be used to type in any text for the selected application. |
|
E.g.: Invoke 'Gedit' application, click on the text area, and then click on the 'Compose' button in GOK. Select the required keys from the onscreen keyboard. The characters appear in the gedit text area. |
Gok_03 |
Verify that the 'Launcher' button allows the user to launch any of the 'Terminal', 'Web Browser' or 'Text Editor' applications. |
Gok_04 |
Verify that the 'Activate' button allows the user to activate any of the currently running application windows on the user’s desktop, including the panels and the gnome desktop. |
Gok_05 |
Verify that the 'Menus' button lists all the available menus in the current application. And, clicking on a menu button displays the sub-menu and menu items contained within the menu. Also verify that clicking on a menu item activates the menu item. |
|
E.g.: Click on the help browser application, and then click on the 'Menus' button. The GOK window now displays the ‘File’, 'Go' and 'Help' buttons (the help browser menus). Click on the 'File' button and it displays the 'New Window' and 'Close Window' buttons (menu items). |
Gok_06 |
Verify that the 'Toolbars' button lists all the available buttons in the application toolbar. |
|
E.g.: Click on the help browser application and then click on the 'Toolbars' button. The GOK window now displays the 'Back', 'Forward' and 'Home' buttons. |
Gok_07 |
Verify that the 'UI Grab' button displays all the button objects for the selected application window. |
|
E.g.: Open 'Font Properties' capplet, and click on the 'UI Grab' button in GOK window. The GOK window now displays the names of the buttons in the capplet, viz., 'sans', 'sans', 'close' and 'help'. |