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: |
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:
|
1 2 |
cb_1.accessiblename = "Delete" cb_1.accessibledescription = "Deletes selected text" |
The following statement sets the AccessibleName property of a
button in a DataWindow object:
|
1 |
dw_1.Object.b_1.accessiblename = "Update" |
Deployment
When you deploy an accessible application, you must deploy the
pbacc.dll and PBAccessibility.dll files.