UI Accessibility Checker (or AccChecker) is a tool that enables testers without prior MSAA experience to easily discover problems MSAA implementations of User Interfaces (UI). AccChecker was born from the realization that existing MSAA
tools, such as Inspect or AccExplorer, provided in-depth details on the implementation, but no information whether that implementation is correct or not.
AccChecker comes in three modes – a Graphical User Interface (GUI) tool for the initial investigations of UIs, a set of simple APIs for easily creating automatic test cases, and a command-line tool for batch processing. Using the GUI tool, a tester can easily
scan a UI and review the list of errors and warnings. Then, using the per-issue documentation, the tester can determine why each particular issue has occurred, what the implication is on users with disabilities, and how to fix it. Once all issues have been
fixed, the tester can use the APIs to create regression tests. Finally, if the tester cannot use the APIs (due to lack of expertise), she can use the command-line mode of the tool to create tests in a batch file.
AccChecker uses a plug-in architecture, which allows 3rd party developers to create additional verifications. The verifications provided in AccChecker out-of-the-box include:
- Verifications for accessible Name, Role, and State
- Verifications for the MSAA tree integrity, such as child-parent relationships or bounding rectangles
- Verification for keyboard navigation by tabbing
- Verification for duplicate access keys
- A simplified screen reader which shows what text would be read by a real screen reader
AccChecker source code and binaries will be published to CodePlex in March 2008 as a contribution from Microsoft to the Accessibility Interoperability Alliance. The license under which AccChecker will be published will allow 3rd party companies to port the
tool to other operating systems, or incorporate portions of the code in other products.
See "AccChecker Help
" for more details on how to use UI Accessibility Checker for testing user interfaces manually and programmatically.