Using Microsoft Active Accessibility

Applies to TestComplete 15.45, last modified on December 01, 2022

Microsoft Active Accessibility (MSAA) is a technology that lets applications provide information about their user interface to other software, for example, screen readers.

Information about the application’s UI elements is exposed via the special IAccessible interface. This interface provides information about the type of the underlying control, its name, location and current state, and provides methods for manipulating that control.

This way, active accessibility information can be used for functional (or user interface) testing.

TestComplete can recognize UI elements in applications by using their active accessibility information. You can use it to –

  • Expose information about custom controls in applications.

    Many applications use custom or owner-drawn controls, which do not behave like standard Windows controls, and thus TestComplete may not recognize them. Examples of such applications are those created with Microsoft FoxPro, Sybase PowerBuilder and other development tools.

    Development tools can automatically include accessibility information in applications or you can implement accessibility information in the application manually.

    TestComplete will use the accessibility information to access and interact with objects in such applications.

  • Test applications for accessibility.

    You can test whether the objects in your tested application have correct accessible names and roles specified, whether the control default actions are executed correctly, and so on.

Note: You can get the latest version of the Active Accessibility from Microsoft Download Center –

Platform SDK: Microsoft Active Accessibility 2.0 Redistributable

This section provides information on how to use the MSAA engine to recognize objects in tested applications.

In This Section

Requirements

Lists plugins required for testing applications containing accessibility information.

About Using Microsoft Active Accessibility

Explains how the TestComplete MSAA engine can expose internal windows, controls and objects of applications that support Active Accessibility.

Addressing Objects in MSAA Open Applications

Explains how TestComplete identifies and addresses objects of MSAA applications.

MSAA Object Types by Names

TestComplete names objects exposed by the MSAA engine by their type names. This topic provides information about type names that correspond to various accessibility roles.

MSAA Object Types by Accessibility Roles

List existing accessibility roles and type names that TestComplete uses to address objects with the corresponding roles.

Implementing MSAA Support Manually

Provides information on how you can prepare your applications to work with MSAA and how to access methods and properties of the object that the application returns.

Limiting the Number of MSAA Child Objects

Explains how you can control the number of exposed MSAA objects and speed up the test execution.

Related Topics of Interest

Properties Added to MSAA Objects

Provides information about extended properties that TestComplete adds to objects exposed by the MSAA engine.

Methods Added to MSAA Objects

Provides information about extended methods that TestComplete adds to objects exposed by the MSAA engine.

Project Properties - MSAA Options

Describes MSAA project settings that let you specify windows, which TestComplete will query for the IAccessible interface.

Testing Flash and Flex Applications via the MSAA Engine

Explains how you can test Flash and Flex applications using the MSAA engine.

Testing PowerBuilder Applications

Explains how you can test Power Builder applications using the MSAA engine.

Testing FoxPro Applications

Explains how you can test Microsoft FoxPro applications using the MSAA engine.

Testing Microsoft Access Applications

Explains how you can test Access applications using the MSAA engine.

Testing Microsoft InfoPath Forms

Explains how you can test InfoPath forms using the MSAA engine.

See Also

Object Identification
Working With Application Objects and Controls
About Open Applications

Highlight search results