I have managed to work around this, though it is painful to need to do this. I extended the stock RadCheckBox and RadCheckBoxAccessibleObject classes to conform to what I believe is the correct behavior for these accessibility attributes. To fix the theme of the checkbox, I return the default theme for RadCheckBox. If there is a better way to accomplish this, please let me know.
public
class
CustomRadCheckBox : RadCheckBox
{
protected
override
AccessibleObject CreateAccessibilityInstance()
{
return
new
CustomRadCheckBoxAccessibleObject(
this
);
}
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public
override
string
ThemeClassName
{
//fixes the theme
get
{
return
"Telerik.WinControls.UI.RadCheckBox"
; }
set
{ }
}
}
public
class
CustomRadCheckBoxAccessibleObject : RadCheckBoxAccessibleObject
{
public
CustomRadCheckBoxAccessibleObject(RadCheckBox owner) :
base
(owner) { }
public
override
string
Name
{
//if not done, the LegacyIAccessible.Name will show as the name of the button
get
{
return
Owner.AccessibleName; }
set
{ }
}
public
override
string
Description
{
//if not done, the LegacyIAccessible.Description will shows as the text of the button
get
{
return
Owner.AccessibleDescription; }
}
}