Skip to main content
All docs
V25.1
  • Accessibility Support

    • 4 minutes to read

    Accessibility interfaces allow DevExpress controls to exchange information with third-party applications, such as accessibility tools.

    UI Automation-Based Accessibility

    UI Automation-based accessibility features (such as Microsoft Narrator) rely on the Microsoft UI Automation (UIA) framework to obtain information about UI elements in an application.

    Controls with UI Automation Support

    All DevExpress controls listed in this section can store accessibility-related information (such as public name, description, type) and raise UI Automation events.

    Note

    In v25.1, accessibility features are initially disabled in all supported controls because this functionality is still at the active development stage. To test the UI Automation functionality in all products listed below, set the dxUIAutomationEnabled global variable to True.

    If you encounter any issues while the UI Automation functionality is enabled, please submit a support ticket through the DevExpress Support Center. We will be happy to follow up.

    Bars

    Ribbon and toolbar UIs support UI Automation-based accessibility features. You can use the Automation property of individual TdxBarItem descendant instances to add or customize accessibility-related information and handle UI Automation events.

    Editors

    In v25.1, all editors listed in this section implement the Properties.Automation property. You can use this property to add or customize accessibility-related information and handle UI Automation events.

    TcxButtonEdit | TcxDBButtonEdit
    A single-line text editor with one or more embedded buttons.[1]
    TcxCheckBox | TcxDBCheckBox
    A check box.
    TcxCheckListBox | TcxDBCheckListBox
    A list box editor with checkable items.
    TcxCheckComboBox | TcxDBCheckComboBox
    A combo box editor with checkable items.
    TcxComboBox | TcxDBComboBox
    A combo box editor.
    TcxDateEdit | TcxDBDateEdit
    A date editor with a drop-down calendar.
    TcxFontNameComboBox | TcxDBFontNameComboBox
    A combo box editor designed for font typeface selection.
    TcxImageComboBox | TcxDBImageComboBox
    A combo box editor with support for images.
    TcxLabel | TcxDBLabel
    An uneditable plain text label.
    TcxListBox | TcxDBListBox
    A list box editor.
    TcxLookupComboBox | TcxDBLookupComboBox | TcxExtLookupComboBox | TcxDBExtLookupComboBox
    A lookup combo box editor.[2]
    TcxMemo | TcxDBMemo
    A memo editor for plain text content (a multi-line text box).
    TcxPopupEdit | TcxDBPopupEdit
    A general-purpose pop-up editor.
    TcxRadioGroup | TcxDBRadioGroup
    A group of radio buttons that allow users to select an option.[3]
    TcxTextEdit | TcxDBTextEdit
    A single-line text editor.
    TcxTimeEdit | TcxDBTimeEdit
    A time editor with spin buttons.
    TcxShellComboBox | TcxDBShellComboBox
    A shell combo box editor.[2]
    TcxSpinEdit | TcxDBSpinEdit
    A spin editor.

    Data Grid

    The Data Grid control, its Table Views, and in turn, columns and rows map to nodes in the UI Automation tree. A UIA client application reads properties of the UIA node that corresponds to the focused UI element.

    You can use the TcxGrid.Automation property to configure root UIA node properties for the Data Grid control. In turn, each grid Table View has its own Automation property you can use to configure UIA node information that corresponds to an individual grid Table View and its data rows. At the lowest structure hierarchy level, each column has its own Automation property.

    Layout Control

    The Layout control and the hierarchy of all nested groups and items map to nodes in the UI Automation tree if the dxUIAutomationEnabled global variable is set to True. A UIA client reads properties of the UIA node that corresponds to the focused control.

    You can use the Automation property to configure root UIA node properties for the Layout control. In turn, each group and item has its own Automation property you can use to configure all nested nodes in the Layout control hierarchy.

    The TdxNavBar control supports UI Automation interfaces at the level of individual UI elements and groups. TdxNavBarItem and TdxNavBarGroup classes implement the Automation property, which you can use to add or customize accessibility-related information and handle UI Automation events.

    Miscellaneous UI Controls

    Each control in the list below includes an Automation[4] property. You can use this property to add or customize accessibility-related information and handle UI Automation events.

    TcxButton
    An enhanced counterpart of the standard TButton component.
    TcxGroupBox
    A group box.
    TcxRadioButton
    A standalone radio button.
    TdxPanel
    A resizable general-purpose panel with customizable borders.
    TdxTreeViewControl
    A Tree View control.

    Forms

    All DevExpress form classes (TdxCustomForm and TdxForm descendants) support UI Automation interfaces.

    Tip

    We strongly recommend that you derive all forms in your application project from TdxForm and its descendants to ensure the best user experience with third-party assistive tools (UIA clients).

    Footnotes
    1. Each embedded editor button has its own Automation property.

    2. Drop-down editor windows do not support UI Automation in v25.1.

    3. Each radio group item has its own Automation property.

    4. Use the following links to navigate to corresponding topic descriptions: