Workaround:
public class CustomDropDown : RadDropDownList
{
public override string ThemeClassName
{
get
{
return typeof(RadDropDownList).FullName;
}
}
protected override AccessibleObject CreateAccessibilityInstance()
{
return new CustomRadDropDownListAccessibleObject(this);
}
}
public class CustomRadDropDownListAccessibleObject : RadDropDownListAccessibleObject
{
public CustomRadDropDownListAccessibleObject(RadDropDownList owner) : base(owner)
{
}
public override int GetChildCount()
{
return (this.List.DropDownStyle == RadDropDownStyle.DropDown) ? 3 : 2;
}
public override AccessibleObject GetChild(int index)
{
if (this.List.DropDownStyle == RadDropDownStyle.DropDown)
{
if (index == 0)
{
return this.List.DropDownListElement.TextBox.TextBoxItem.HostedControl.AccessibilityObject;
}
else if (index == 1)
{
return new RadButtonElementAccessibleObject(this.List.DropDownListElement.ArrowButton, "ArrowButton");
}
else
{
return this.List.DropDownListElement.Popup.AccessibilityObject;
}
}
else
{
if (index == 0)
{
return new RadButtonElementAccessibleObject(this.List.DropDownListElement.ArrowButton, "ArrowButton");
}
else
{
return this.List.DropDownListElement.Popup.AccessibilityObject;
}
}
}
}