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

    • 5 minutes to read

    The DevExpress WinForms UI Library includes everything you need to build Windows software that is fully accessible for users with a disability or impairment.

    DevExpress WinForms UI controls are fully compatible with modern assistive technologies such as Narrator — available from Microsoft Active Accessibility. WinForms UI controls fully support MSAA and UI Automation to help assistive tools recognize the bounds, names, roles, states, and values of UI elements. WinForms UI controls also support UI Automation patterns (for example, grid, dock, scroll, selection, table, expand/collapse, and etc.).

    DevExpress high contrast skins and High DPI Support help you design apps for users with impaired vision.

    Accessibility Standards and Guidelines

    DevExpress WinForms UI controls comply with Section 508, WCAG 2.0 (Level AA), and EN 301 549.

    Accessible API for WinForms UI Controls

    DevExpress WinForms UI controls implement standard API used by accessibility client applications. All UI elements are labeled, property values are exposed, and appropriate events are raised.

    Property Name Description
    AccessibleName Specifies a control’s name used by accessibility client applications.
    AccessibleRole Specifies the accessible role of a control or UI element.
    AccessibleDescription Describes a control or UI element. This description is used by accessibility client applications.

    The following image illustrates the Accessibility tree for a Data Grid control:

    Accessible API for UI Controls - WinForms Library

    Handle the QueryAccessibleInfo event to describe certain or custom UI elements to ensure that programmatic access is correctly implemented. The QueryAccessibleInfo event serves as a single entry point to customize accessibility information for all DevExpress controls in your Windows Forms application. If you use controls from multiple assemblies in your app (for example, Data Grid, Editors, Charts, PivotGrid), the QueryAccessibleInfo event will be fired for each UI control.

    The following example handles the QueryAccessibleInfo event to specify a meaningful name for the Magnifier button in the ColorEdit control. The default accessible button name is “Glyph”. This name is read aloud by Accessibility clients, such as Windows Narrator, and it gives no indication of what the button actually does.

    using DevExpress.Accessibility;
    
    public Form1() {
        InitializeComponent();
        DXAccessible.QueryAccessibleInfo += (s, e) => {
            if(e.OwnerControl == this.colorEdit1 && e.Name == "Glyph")
                e.Name = "Magnifier";
        };
    }
    

    Accessible API for UI Elements - WinForms CalcEdit

    You can also handle the QueryAccessibleInfo event to specify more sensible accessible names, roles, and descriptions for UI elements in the context of your Windows application.

    Read the following blog post for detailed information and examples on how to specify more accurate accessible names for UI elements in the Data Grid and TreeList controls: How to Customize Accessibility Properties.

    Disable DevExpress Accessibility

    Turn on the WindowsFormsSettings.DisableAccessibility option to disable DevExpress Accessibility Support for all DevExpress UI controls in a Windows Forms application.

    WinForms UI Controls with Accessible API

    The following table lists DevExpress WinForms UI controls that convey accessible information to assistive technologies through Microsoft Active Accessibility:

    Expand the table

    WinForms Control

    Accessible API

    Data Grid

    GridColumn.AccessibleName

    GridColumn.AccessibleRole

    GridColumn.AccessibleDescription

    GridBand.AccessibleName

    GridBand.AccessibleRole

    GridBand.AccessibleDescription

    BaseView.AccessibleName

    BaseView.AccessibleRole

    BaseView.AccessibleDescription

    Bars

    Bar.AccessibleName

    Bar.AccessibleRole

    Bar.AccessibleDescription

    BarItem.AccessibleName

    BarItem.AccessibleRole

    BarItem.AccessibleDescription

    Document Manager

    BaseDocument.AccessibleName

    BaseDocument.AccessibleRole

    BaseDocument.AccessibleDescription

    DocumentGroup.AccessibleName

    DocumentGroup.AccessibleRole

    DocumentGroup.AccessibleDescription

    Tile.AccessibleName

    Tile.AccessibleRole

    Tile.AccessibleDescription

    Accordion

    AccessibleName

    AccessibleRole

    AccessibleDescription

    Ribbon

    ApplicationButtonAccessibleName

    ApplicationButtonAccessibleDescription

    BackstageViewItemBase.AccessibleName

    BackstageViewItemBase.AccessibleRole

    BackstageViewItemBase.AccessibleDescription

    GalleryItem.AccessibleName

    GalleryItem.AccessibleRole

    GalleryItem.AccessibleDescription

    RecentItemBase.AccessibleName

    RecentItemBase.AccessibleRole

    RecentItemBase.AccessibleDescription

    Data Editors

    RepositoryItem.AccessibleName

    RepositoryItem.AccessibleRole

    RepositoryItem.AccessibleDescription

    Tile Control

    TileItem.AccessibleName

    TileItem.AccessibleRole

    TileItem.AccessibleDescription

    Radio Group

    RadioGroupItem.AccessibleName

    Layout Control

    BaseLayoutItem.AccessibleName

    BaseLayoutItem.AccessibleRole

    BaseLayoutItem.AccessibleDescription

    Navigation Bar

    NavBarGroup.AccessibleName

    NavBarGroup.AccessibleRole

    NavBarGroup.AccessibleDescription

    NavBarItem.AccessibleName

    NavBarItem.AccessibleRole

    NavBarItem.AccessibleDescription

    Pivot Grid

    PivotGridField.AccessibleName

    PivotGridField.AccessibleRole

    PivotGridField.AccessibleDescription

    Tabbed MDI Manager

    XtraTabbedMdiManager.AccessibleName

    XtraTabbedMdiManager.AccessibleRole

    XtraTabbedMdiManager.AccessibleDescription

    TreeList

    TreeListColumn.AccessibleName

    TreeListColumn.AccessibleRole

    TreeListColumn.AccessibleDescription

    TreeListBand.AccessibleName

    TreeListBand.AccessibleRole

    TreeListBand.AccessibleDescription

    Vertical Grid

    RowProperties.AccessibleName

    RowProperties.AccessibleRole

    RowProperties.AccessibleDescription

    Diagram

    DiagramItem.AccessibleObject

    DiagramImage.AltText

    Gauge

    BaseGaugeWin.AccessibleDescription

    BaseGaugeWin.AccessibleDescriptionFormat

    BaseGaugeWin.AccessibleName

    BaseGaugeWin.AccessibleValueFormat

    ChartControl

    AxisIntervalViewDataAccessible

    AxisLabelItemBaseAccessible

    AxisTitleViewDataAccessible

    AxisViewDataAccessible

    ChartControlAccessible

    ChartElementAccessible

    DiagramViewDataAccessible<T>

    DockableTitleViewDataAccessible

    LegendItemViewDataAccessible

    LegendTitleViewDataAccessible

    LegendViewDataAccessible

    PaneViewDataAccessible<T>

    PieTotalLabelViewDataAccessible

    RadarAxisXViewDataAccessible

    RadarAxisYViewDataAccessible

    RadarDiagramViewDataAccessible

    SeriesLabelLayoutAccessible

    SimpleDiagramViewDataAccessible

    XYDiagramPaneTitleViewDataAccessible

    XYDiagramPaneViewDataAccessible

    XYDiagramViewDataAccessible

    Limitations

    The following WinForms UI controls do not support DevExpress Accessibility:

    • PDF Viewer
    • Report Viewer
    • WinForms BI Dashboard
    • Map
    • TreeMap.

    The ChartControl does not create accessibility tree for 3D Charts.

    Chart points are not included in the accessibility tree for all chart types.

    High Contrast Mode

    Use the DevExpress High Contrast or The Bezier Skin to improve readability. These skins include predesigned color palettes that use carefully selected color combinations to help users with impaired vision (to distinguish text, borders, selection states, and other visual elements).

    High Contrast Skin

    The High Contrast skin includes the following color palettes: Default, High Contrast White, High Contrast #1, High Contrast #2.

    High Contrast Palettes - The Bezier Skin

    The Bezier Skin

    The Bezier skin includes two high contrast palettes: High Contrast White, High Contrast Black.

    High Contrast Palettes - The Bezier Skin

    High DPI Support

    DevExpress WinForms UI controls support DirectX hardware acceleration and deliver exceptional performance and superb High DPI rendering quality (4K/8K).

    High DPI Support - WinForms UI Controls

    Right-to-Left Support

    DevExpress forms and UI controls support right-to-left languages (RTL) at runtime. Read the following topic for detailed information and examples: Right-to-Left Layout in WinForms Controls.

    See Also

    How to Create UI Automation Tests for a DevExpress-powered WinForms Application