# Providing Accessibility Information for Controls on a Windows Form

Accessibility aids are specialized programs and devices that help people with disabilities use computers more effectively. Examples include screen readers for people who are blind and voice input utilities for people who provide verbal commands instead of using the mouse or keyboard. These accessibility aids interact with the accessibility properties exposed by Windows Forms controls. These properties are:

• AccessibilityObject

• AccessibleDefaultActionDescription

• AccessibleDescription

• AccessibleName

• AccessibleRole

## AccessibilityObject Property

This read-only property contains an AccessibleObject instance. The AccessibleObject implements the IAccessible interface, which provides information about the control's description, screen location, navigational abilities, and value. The designer sets this value when the control is added to the form.

## AccessibleDefaultActionDescription Property

This string describes the action of the control. It does not appear in the Properties window and may only be set in code. The following example sets this property for a button control:

Button1.AccessibleDefaultActionDescription = _
"Closes the application."

Button1.AccessibleDefaultActionDescription =
"Closes the application.";

button1->AccessibleDefaultActionDescription =
"Closes the application.";


## AccessibleDescription Property

This string describes the control. It may be set in the Properties window, or in code as follows:

Button1.AccessibleDescription = "A button with text 'Exit'."

Button1.AccessibleDescription = "A button with text 'Exit'";

button1->AccessibleDescription = "A button with text 'Exit'";


## AccessibleName Property

This is the name of a control reported to accessibility aids. It may be set in the Properties window, or in code as follows:

Button1.AccessibleName = "Order"

Button1.AccessibleName = "Order";

button1->AccessibleName = "Order";


## AccessibleRole Property

This property, which contains an AccessibleRole enumeration, describes the user interface role of the control. A new control has the value set to Default. This would mean that by default, a Button control acts as a Button. You may want to reset this property if a control has another role. For example, you may be using a PictureBox control as a Chart, and you may want accessibility aids to report the role as a Chart, not as a PictureBox. You may also want to specify this property for custom controls you have developed. This property may be set in the Properties window, or in code as follows:

PictureBox1.AccessibleRole = AccessibleRole.Chart

PictureBox1.AccessibleRole = AccessibleRole.Chart;

pictureBox1->AccessibleRole = AccessibleRole::Chart;