AccChecker version 2.0 is now published.
It includes significant improvements. You can download the binaries from the Releases
location. The latest source code is also available
UI Accessibility Checker (or AccChecker) enables testers to easily discover accessibility problems with Microsoft Active Accessibility (MSAA) and other User Interfaces (UI) implementations for Windows. AccChecker was born from the realization that existing Windows Automation API tools, such as Inspect, 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 implications may be on users with disabilities, and how to fix the issue. Once all issues have been fixed, the tester can use the APIs to create regression tests. Finally, if the APIs cannot be used for any reason, the tester 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 MSAA and UIA
- Verifications for the MSAA and UIA tree integrity, such as child-parent relationships or bounding rectangles
- Verification for keyboard navigation by tabbing
- A simplified screen reader which shows the textual information available to a real screen reader
AccChecker source code and binaries are published as a contribution from Microsoft to the Accessibility Interoperability Alliance. The license under which AccChecker is published should allow 3rd party companies to use the code for any purpose, such as porting the tool to other operating systems, or incorporating portions of the code in independent products.Resources: