New to Telerik UI for WinForms? Download free 30-day trial

UI Automation Support

With the Q4 2024 version of our controls, RadDropDownList supports UI Automation. The current implementation of UI Automation for RadDropDownList is similar to the MS WinForms ComboBox implementation with some extended functionality. The main goal of this implementation is to ensure compliance with accessibility standards and to provide a common practice for automated testing.

This functionality is enabled by default. To disable it, you can set the EnableUIAutomation property to false.


this.radDropDownList1.EnableUIAutomation = false;


Me.RadDropDownList1.EnableUIAutomation = False

RadDropDownList

The table below outlines the UI Automation properties most important for understanding and interacting with RadDropDownList control.

RadDropDownList Available Properties

  • AutomationElementIdentifiers.AutomationIdProperty.Id
  • AutomationElementIdentifiers.BoundingRectangleProperty.Id
  • AutomationElementIdentifiers.ControlTypeProperty => ControlType.ComboBox.Id
  • AutomationElementIdentifiers.LocalizedControlTypeProperty.Id => "comboBox"
  • AutomationElementIdentifiers.HelpTextProperty.Id
  • AutomationElementIdentifiers.IsContentElementProperty.Id
  • AutomationElementIdentifiers.IsControlElementProperty.Id
  • AutomationElementIdentifiers.IsKeyboardFocusableProperty.Id
  • AutomationElementIdentifiers.HasKeyboardFocusProperty.Id
  • AutomationElementIdentifiers.LabeledByProperty.Id
  • AutomationElementIdentifiers.NameProperty.Id
  • AutomationElementIdentifiers.IsValuePatternAvailableProperty.Id

RadDropDownList Supported Control Patterns

The following section outlines the supported automation patterns for the RadDropDownList control and its constituent elements.

Editor or TextElement

The DropDownStyle property of the control determines if direct text input is allowed inside the editor or not. When the style is set to DropDown we allow input which is handled by a hosted Microsoft TextBox control. In this case, the default TextBox implementation is responsible for handling UI Automation.

Editor

The current implementation of UI Automation for the hosted Microsoft TextBox control is implemented as the UIA Edit control type

TextElement

The current implementation of UI Automation for the RadDropDownList TextElement control is implemented as the UIA Text control type

TextElement Available Properties

  • AutomationElementIdentifiers.AutomationIdProperty.Id
  • AutomationElementIdentifiers.BoundingRectangleProperty.Id
  • AutomationElementIdentifiers.ControlTypeProperty => ControlType.Text.Id
  • AutomationElementIdentifiers.LocalizedControlTypeProperty => "text"
  • AutomationElementIdentifiers.HelpTextProperty.Id
  • AutomationElementIdentifiers.IsContentElementProperty.Id
  • AutomationElementIdentifiers.IsControlElementProperty.Id
  • AutomationElementIdentifiers.IsKeyboardFocusableProperty.Id
  • AutomationElementIdentifiers.HasKeyboardFocusProperty.Id
  • AutomationElementIdentifiers.LabeledByProperty.Id
  • AutomationElementIdentifiers.NameProperty.Id

RadArrowButtonElement

The current implementation of UI Automation for the RadArrowButtonElement control is implemented as the UIA Button control type

RadArrowButtonElement Available Properties

  • AutomationElementIdentifiers.AutomationIdProperty.Id
  • AutomationElementIdentifiers.BoundingRectangleProperty.Id
  • AutomationElementIdentifiers.ControlTypeProperty => ControlType.Button.Id
  • AutomationElementIdentifiers.LocalizedControlTypeProperty => "button"
  • AutomationElementIdentifiers.HelpTextProperty.Id
  • AutomationElementIdentifiers.IsContentElementProperty.Id
  • AutomationElementIdentifiers.IsControlElementProperty.Id
  • AutomationElementIdentifiers.IsKeyboardFocusableProperty.Id
  • AutomationElementIdentifiers.HasKeyboardFocusProperty.Id
  • AutomationElementIdentifiers.LabeledByProperty.Id
  • AutomationElementIdentifiers.NameProperty.Id

RadArrowButtonElement Supported Control Patterns

This is the popup that is responsible for the list of the items. This UI Automation Provider is implemented as a IRawElementProviderFragmentRoot with its parent being the provider of the RadDropDownList control. For more information about the actual implementation check the article of the RadListControl UI Automation Provider.

In this article