You are here: Mozilla Accessibility QA testcases > Object inspection Testing

Accessibility QA Test Case: Object inspection Testing

Firefox user interface on Microsoft Windows: Examine MSAA properties for all user interface elements.

Description

This test case describes the approach and methods used to test the Microsoft Active Accessibility (MSAA) properties for user interface elements.

MSAA provides programming interfaces that allow an application to share information about user interface elements with assistive technology applications, such as screen readers.

User interface elements include controls, objects, icons, images, and text. In other words, any part of the user interface with which the user interacts, either with the mouse, or with the keyboard. Any information provided in the user interface should also be available via a program interface, in this case, the MSAA interface. This allows an assistive technology, such as a screen reader, to provide the needed information to users who cannot see the screen.

Here are examples of the types of information that must be provided for every user interface element in an application:

This test case describes which MSAA properties should be analyzed to verify the above information is available.

This test case is based on IBM Software Accessibility Checklist version 3.5.1, checkpoint 2.2, checkpoint 2.3, checkpoint 2.4, and checkpoint 4.1.

Scope of test

The goal is to test every user interface element (text, graphics, and control elements) in every menu pulldown option and dialog. All dialogs in the Firefox install program, the Firefox application (browser), and the Firefox uninstall program should all be tested.

Note: The tools and accessibility properties discussed in this test case are specifically for the Microsoft Windows operating system and the MSAA interface.

Tools required

  1. Microsoft Inspect Objects: inspect32.exe

Test Case Instructions:

  1. Start Inspect Objects (inspect32.exe) and Firefox.
  2. Use the keyboard to navigate through all menu options and dialogs provided by the software user interface. (See the appendix at the end of this file for keyboard navigation techniques.) Move keyboard focus to each user interface element in every menu and dialog.
  3. For each user interface element, verify that all information that is provided visually is also provided through the available MSAA properties. There are many properties defined in MSAA, but only a few are analyzed for this test. Observe the following MSAA properties displayed in the Inspect Objects output window. Use your judgment to decide if the necessary information is provided for each user interface element.

End of Test Case

APPENDIX - KEYBOARD NAVIGATION TECHNIQUES

The following techniques can be used to navigate a Windows application using just the keyboard (without using the mouse).

  1. System menu (Alt + Spacebar)
    1. Press Alt + Spacebar to access system menu
    2. Use Arrow Keys to move from option to option.
  2. Menu bar options (Alt)
    1. Press Alt to access menu bar.
    2. Use Arrow Keys to move from option to option.
    3. Submenus can be opened and closed using Right and Left Arrow keys.
    4. The Esc key closes submenus and eventually returns focus to original focus location, before Alt was originally pressed.
  3. Toolbars (a row of icons across the top of the window, below the menu bar options)
    1. The Toolbar elements should be part of the Tab ring. The Arrow keys might be used to move between icons on the toolbar.
      • Note: Some applications choose not to make the toolbar accessible from the keyboard. If the toolbar icons are not accessible through the keyboard, it must be possible to access an equivalent function using the keyboard for every option that can be added to the toolbar.
  4. Dialog navigation
    1. The initial keyboard focus, when dialog is first opened, should be in a logical place (probably upper left-most element in the dialog).
    2. The Tab key can be used to move from option to option, and Shift+Tab moves in reverse order.
    3. Use the Arrow keys to move between elements in a group (such as a group of radio buttons).
      • Note that static text in a dialog is most often not included in the tab ring. All elements that require interaction with the user MUST be accessible with the keyboard.
  5. Application Window navigation (sections, panes, frames, notebook tabs, etc. that are part of the application window.)
    1. Common keystrokes to navigate between parts of an application window:
      • Use F6 to move between sections, panes and frames,
      • Use Ctrl+Tab to change from one notebook tab to another, as in multiple web pages open in multiple notebook tabs in the Firefox window.)
      • Review the Windows keyboard shortcuts for common keystrokes used with Windows applications. In Windows XP, you can find more information about Windows keyboard shortcuts by searching the Help and Support Center for "windows keyboard shortcuts overview".
  6. Context menus (box of options displayed when user clicks right mouse button on a user interface element, such as an icon.)
    1. Use Shift+F10 to open context menus for element that has current keyboard focus.
    2. Use Arrow keys to move between items in context menu.
  7. User Interface Elements and Controls (common elements are listed here, with keystrokes used to use them)
    1. Push Buttons: selectable with either the Enter or Spacebar key.
    2. Check boxes: Spacebar will select/deselect a check box.
    3. Radio button groups: Tab moves from one radio button group to the next element, and Arrow keys move from one radio button to another within a group.
    4. Text input fields: Tab moves to and from the input field. (Note, however, that if tabs are allowed within the field, another method of exiting the field must be provided!)
    5. Spin boxes: Up and Down Arrow keys can increase or decrease the value of the spin box.
    6. Tree views: Branches of tree views can be opened with Right Arrow, and closed with Left Arrow keys.
    7. Drop down boxes: Opened with Alt+Down Arrow.
    8. Any other user interface elements should be usable with standard and intuitive keystrokes.

End of Appendix