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
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.