Back to Devexpress

How to: Provide accessible names for embedded controls

windowsforms-120768-controls-and-libraries-form-layout-managers-layout-and-data-layout-controls-examples-how-to-provide-accessible-names-for-embedded-controls.md

latest1.6 KB
Original Source

How to: Provide accessible names for embedded controls

  • Jan 18, 2019

The following code shows how to use layout item labels (BaseLayoutItem.Text) as accessible names (Control.AccessibleName) for embedded controls. When you focus an embedded editor, an accessibility client application (for instance, Microsoft Narrator) reads the specified accessible name along with the editor’s value.

csharp
using DevExpress.XtraLayout;

private void Form1_Load(object sender, EventArgs e) {
    DevExpress.XtraLayout.Utils.ReadOnlyItemCollection items = layoutControl1.Items;
    foreach(BaseLayoutItem item in items) {
        LayoutControlItem lci = item as LayoutControlItem;
        if(lci != null) {
            if (lci.TextVisible)
                lci.Control.AccessibleName = lci.Text;
        }
    }
}
vb
Imports DevExpress.XtraLayout

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Dim items As DevExpress.XtraLayout.Utils.ReadOnlyItemCollection = LayoutControl1.Items
    For Each item As BaseLayoutItem In items
        Dim lci As LayoutControlItem = TryCast(item, LayoutControlItem)
        If Not lci Is Nothing Then
            If (lci.TextVisible) Then
                lci.Control.AccessibleName = lci.Text
            End If
        End If
    Next item
End Sub