UI accessibility and automation support

PowerBuilder supports the following two technologies of Windows accessibility and automation -- Microsoft Active Accessibility (MSAA) and Microsoft UI Automation.

MSAA is a legacy technology introduced in Windows 95; it supports the PowerBuilder standard controls well; but it imposes major limitations on the PowerBuilder custom controls such as DataWindows. Starting from PowerBuilder 2019 R3, PowerBuilder supports a newer and more capable technology which overcomes the limitations of MSAA; this new technology called Microsoft UI Automation offers a richer set of properties and extended interfaces to manipulate not only standard controls but also custom controls (such as PowerBuilder DataWindows and child controls in DataWindows).

With the Microsoft UI Automation technology, the UI elements of the PowerBuilder control can be accessible to the screen reader (such as Windows Narrator), the accessibility tool (such as Accessibility Insights, Inspect), and the automated testing tool (such as QTP) in Windows 10 and Windows Server 2019.

To enable support for PowerBuilder controls/objects through Microsoft UI Automation, you will need to set the AccessibleName and AccessibleDescription properties in the controls' Property tab page.

The Microsoft UI Automation technology allows you not only to access and test the PowerBuilder standard controls (see Table 1), but also the PowerBuilder DataWindow controls (see Table 2 and 3).

Table 1: PowerBuilder controls/objects supported by Microsoft UI Automation

Animation

CheckBox

CommandButton

DataWindow

DatePicker

DropDownListBox

DropDownPictureListBox

EditMask

GroupBox

HProgressBar

HScrollBar

HTrackBar

ListBox

ListView

MonthCalendar

MultiLineEdit

Picture

PictureButton

PictureHyperText

PictureListBox

RadioButton

SingleLineEdit

StaticText

StaticHyperText

Tab

TreeView

UserObject

VProgressBar

VScrollBar

VTrackBar


The following PowerBuilder controls/objects are unsupported by Microsoft UI Automation: Graph, InkEdit, InkPicture, Line, OLE, Oval, Rectangle, RibbonBar, RoundRectangle, RichTextEdit, and WebBrowser.

Table 2: DataWindow presentation styles supported by Microsoft UI Automation

CrossTab

FreeForm

Grid

Group

Label

N-Up

Tabular

TreeView


DataWindow controls of the following presentation styles are unsupported: Graph, OLE 2.0, Composite, and RichText.

Table 3: Controls in DataWindow supported by Microsoft UI Automation

Button

Column (and the following edit styles are supported: CheckBox, DropDownListBox, DropDownDataWindow, Edit box, EditMask, and RadioButtons)

Computed Field

GroupBox

Text


The following controls in DataWindow are unsupported by Microsoft UI Automation: Graph, InkPicture, Line, OLE Object, Oval, Rectangle, RoundRectangle, Picture, Report, and TableBlob.

Examples

The following statements set the AccessibleName and AccessibleDescription properties for a command button in a Window:

cb_1.accessiblename = "Delete"
cb_1.accessibledescription = "Deletes selected text"

The following statement sets the AccessibleName property of a button in a DataWindow object:

dw_1.Object.b_1.accessiblename = "Update"

Deployment

When you deploy an accessible application, you must deploy the pbacc.dll and PBAccessibility.dll files.