AccessibleRole Перечисление
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Указывает значения, представляющие возможные роли для доступного объекта.
public enum class AccessibleRole
public enum AccessibleRole
type AccessibleRole =
Public Enum AccessibleRole
- Наследование
Поля
Alert | 8 | Предупреждение или условие, о котором можно уведомить пользователя. Данная роль используется только для объектов, содержащих предупреждение, но не связанных с другим элементом пользовательского интерфейса, таким как окно сообщения, графика, текст или звук. |
Animation | 54 | Элемент управления анимацией, чье содержимое изменяется со временем, такой как элемент управления, отображающий ряд кадров из точечных рисунков, например кадры фильма. Как правило, элементы управления анимацией отображаются во время копирования файлов или в ходе выполнения другой занимающей много времени задачи. |
Application | 14 | Главное окно приложения. |
Border | 19 | Граница окна. Вся граница представлена одним объектом, а не отдельными объектами для каждой стороны. |
ButtonDropDown | 56 | Кнопка с раскрывающимся списком пунктов. |
ButtonDropDownGrid | 58 | Кнопка с раскрывающейся сеткой. |
ButtonMenu | 57 | Кнопка с раскрывающимся меню. |
Caret | 7 | Курсор в виде мигающей линии, блока или точечного рисунка, обозначающий место вставки в клиентской области окна. |
Cell | 29 | Ячейка в таблице. |
Character | 32 | Мультипликационный графический объект, такой как помощник Microsoft Office, который, как правило, отображается с целью оказания помощи пользователям приложения. |
Chart | 17 | Используемое для представления данных графическое изображение. |
CheckButton | 44 | Элемент управления "Флажок", являющийся параметром, который можно включить или выключить независимо от других параметров. |
Client | 10 | Пользовательская область окна. |
Clock | 61 | Отображающий время элемент управления. |
Column | 27 | Столбец ячеек в таблице. |
ColumnHeader | 25 | Заголовок столбца, предоставляющий визуальную метку для столбца таблицы. |
ComboBox | 46 | Поле со списком, являющееся элементом управления "Поле ввода" со связанным с ним списком, в котором имеется набор предопределенных вариантов. |
Cursor | 6 | Указатель мыши. |
Default | -1 | Предоставляемая системой роль. |
Diagram | 53 | Графическое изображение, используемое для представления данных в виде диаграммы. |
Dial | 49 | Диск или ручка. Может быть объектом, доступным только для чтения, как спидометр. |
Dialog | 18 | Диалоговое окно или окно сообщения. |
Document | 15 | Окно документа, которое всегда содержится в окне приложения. Данная роль применяется только к окнам многодокументного интерфейса (MDI) и относится к объекту, содержащему строку заголовка MDI. |
DropList | 47 | Окно с раскрывающимся списком. Данный элемент управления показывает только один элемент и позволяет отобразить и выделить другой элемент из списка вариантов. |
Equation | 55 | Математическое уравнение. |
Graphic | 40 | Рисунок. |
Grip | 4 | Специальный указатель мыши, позволяющий управлять такими элементами пользовательского интерфейса, как окно. Например, имеется возможность щелкнуть и перетащить маркер изменения размера в правом нижнем углу окна, чтобы изменить размеры окна. |
Grouping | 20 | Сгруппированные в логическом порядке объекты. Между объектом группировки и содержащимися в нем объектами могут быть отношения, подобные отношениям между родительским и дочерними объектами. |
HelpBalloon | 31 | Отображение справочных сведений в форме всплывающей подсказки или справки, содержащей кнопки и метки, по щелчку которых открываются разделы пользовательской справки. |
HotkeyField | 50 | Поле "горячей" клавиши позволяет ввести комбинацию или последовательность клавиш, которые будут использоваться как "горячая" клавиша, что дает возможность быстро выполнить какое-либо действие. Элемент управления "горячей" клавиши отображает клавиши, введенные пользователем, и гарантирует, что будет выбрано сочетание допустимых клавиш. |
Indicator | 39 | Индикатор, например графический символ указателя, указывающий на текущий элемент. |
IpAddress | 63 | Элемент управления, предназначенный для ввода IP-адресов. |
Link | 30 | Ссылка, соединяющая исходный и конечный документы. Данный объект может выглядеть как текст или графический символ и действует как кнопка. |
List | 33 | Список, позволяющий выделить один или несколько элементов. |
ListItem | 34 | Элемент в окне списка или часть списка в поле со списком, окне с раскрывающимся списком или в окне поля с раскрывающимся списком. |
MenuBar | 2 | Строка меню, как правило, под строкой заголовка окна, откуда можно выбирать меню. |
MenuItem | 12 | Пункт меню, представляющий собой запись в меню, которую можно выбрать для выполнения команды, выбора параметра или отображения другого меню. С функциональной точки зрения пункт меню эквивалентен кнопке, переключателю, флажку или меню. |
MenuPopup | 11 | Меню, предоставляющее список параметров, в котором делается выбор для выполнения действия. Все типы меню должны иметь данную роль, включая раскрывающиеся меню, отображаемые при выборе пункта в строке меню, и контекстные меню, отображаемые щелчком правой кнопки мыши. |
None | 0 | Роль отсутствует. |
Outline | 35 | Структура в виде дерева или схемы, например элемент управления "Дерево", отображает иерархический список и позволяет разворачивать и сворачивать ветви дерева. |
OutlineButton | 64 | Элемент управления, позволяющий выполнять переходы подобно элементу структуры. |
OutlineItem | 36 | Элемент структуры в виде схемы или дерева. |
PageTab | 37 | Страница свойств, позволяющая просматривать атрибуты страницы, например заголовок страницы, является ли страница домашней, и была ли страница изменена. Обычно единственным дочерним объектом данного элемента управления является сгруппированный объект, в котором находится содержимое связанной страницы. |
PageTabList | 60 | Контейнер элементов управления вкладки страницы. |
Pane | 16 | Отдельная область в рамке, разделенное окно документа или прямоугольная область строки состояния могут применяться для отображения данных. Допускается переходить от одной области к другой и внутри содержимого текущей области, но переходы между элементами разных областей невозможны. Таким образом, области представляют уровень группирования более низкий, чем рамки или документы, но более высокий, чем отдельные элементы управления. Обычно переходы между областями выполняются путем нажатия клавиш TAB, F6 или CTRL+TAB, в зависимости от контекста. |
ProgressBar | 48 | Индикатор хода выполнения, показывающий выполнение продолжительной операции, отображает цветные полоски внутри горизонтального прямоугольника. Длина полосок по отношению к длине прямоугольника соответствует проценту выполнения операции. Этот элемент управления не используется для ввода данных. |
PropertyPage | 38 | Страница свойств, являющаяся диалоговым окном, с помощью которого управляют внешним видом и поведением объекта, например файла или ресурса. Внешний вид страницы свойств зависит от ее назначения. |
PushButton | 43 | Элемент управления "Кнопка", представляющий собой небольшой прямоугольный элемент управления, который можно включить или выключить. Кнопка, называемая также командной кнопкой, в состоянии по умолчанию "Выключено" имеет выпуклый внешний вид, а в состоянии "Включено" — утопленный. |
RadioButton | 45 | Кнопка выбора параметра, называемая также переключателем. Предполагается, что все объекты, имеющие общего родителя, которые обладают данным атрибутом, являются частью отдельной взаимоисключающей группы. Сгруппированные объекты можно использовать для разделения кнопок выбора параметра на отдельные группы, когда это необходимо. |
Row | 28 | Строка ячеек в таблице. |
RowHeader | 26 | Заголовок строки, предоставляющий визуальную метку для строки таблицы. |
ScrollBar | 3 | Вертикальная или горизонтальная полоса прокрутки, которая может быть либо частью клиентской области, либо использоваться в элементе управления. |
Separator | 21 | Пространство, визуально разделенное на две области, например пункт меню разделителя или разделитель, разделяющий области в окне. |
Slider | 51 | Элемент управления, иногда называемый ползунком, позволяет посредством перемещения ползунка осуществлять настройку в пределах между минимальным и максимальным значениями с заданным шагом. Элементы управления громкостью в операционной системе Windows представляют собой ползунки. |
Sound | 5 | Системный звук, связанный с различными системными событиями. |
SpinButton | 52 | Счетчик, также известный как элемент управления со стрелками "вверх–вниз", содержит пару кнопок со стрелками. Чтобы увеличить или уменьшить значение, следует щелкать кнопки со стрелками. Элемент управления "Счетчик" обычно используется с сопутствующим элементом управления, называемым связанным окном, в котором отображается текущее значение. |
SplitButton | 62 | Кнопка панели инструментов, имеющая значок раскрывающегося списка, непосредственно примыкающий к кнопке. |
StaticText | 41 | Предназначенный только для чтения текст, например метка, для других элементов управления или инструкций в диалоговом окне. Статический текст не может быть изменен или выделен. |
StatusBar | 23 | Строка состояния, как правило, представляющая собой область внизу окна приложения, в которой отображаются сведения о текущей операции, состоянии приложения или выделенном объекте. Строка состояния может иметь несколько полей, показывающих различные сведения, например пояснение к команде меню, выделенной в настоящий момент в строке состояния. |
Table | 24 | Таблица, содержащая строки и столбцы ячеек и при необходимости заголовки строк и столбцов. |
Text | 42 | Выделяемый текст, который можно изменять или который доступен только для чтения. |
TitleBar | 1 | Строка заголовка для окна. |
ToolBar | 22 | Панель инструментов, объединяющая элементы управления и предоставляющая простой доступ к часто используемым функциям. |
ToolTip | 13 | Всплывающая подсказка, представляющая собой небольшое всплывающее прямоугольное окно, в котором отображается краткое описание назначения кнопки. |
WhiteSpace | 59 | Пустое пространство между другими объектами. |
Window | 9 | Рамка окна обычно охватывает дочерние объекты, такие как строка заголовка, клиентская область и другие объекты, содержащиеся в окне. |
Примеры
В следующем примере кода показано создание элемента управления диаграммы с поддержкой специальных возможностей, использующий AccessibleObject классы и Control.ControlAccessibleObject для предоставления доступных сведений. Элемент управления отображает две кривые вместе с условным обозначениям. Класс ChartControlAccessibleObject
, производный от ControlAccessibleObject
, используется в методе CreateAccessibilityInstance для предоставления пользовательских доступных сведений для элемента управления диаграммы. Так как легенда диаграммы не является фактическим Control элементом управления, а рисуется с помощью элемента управления диаграммы, в ней нет встроенных доступных сведений. По этой ChartControlAccessibleObject
причине класс переопределяет GetChild метод для возврата CurveLegendAccessibleObject
, который представляет доступную информацию для каждой части условных обозначений. Если приложение, поддерживающее доступ, использует этот элемент управления, элемент управления может предоставить необходимую доступную информацию.
В этом примере демонстрируется использование перечисления AccessibleRole со свойством Role . Полный AccessibleObject пример кода см. в обзоре класса.
// Inner class ChartControlAccessibleObject represents accessible information associated with the ChartControl.
// The ChartControlAccessibleObject is returned in the ChartControl::CreateAccessibilityInstance .
ref class ChartControlAccessibleObject: public ControlAccessibleObject
{
private:
ChartControl^ chartControl;
public:
ChartControlAccessibleObject( ChartControl^ ctrl )
: ControlAccessibleObject( ctrl )
{
chartControl = ctrl;
}
property System::Windows::Forms::AccessibleRole Role
{
// Gets the role for the Chart. This is used by accessibility programs.
virtual System::Windows::Forms::AccessibleRole get() override
{
return ::AccessibleRole::Chart;
}
}
property AccessibleStates State
{
// Gets the state for the Chart. This is used by accessibility programs.
virtual AccessibleStates get() override
{
return AccessibleStates::ReadOnly;
}
}
// The CurveLegend objects are "child" controls in terms of accessibility so
// return the number of ChartLengend objects.
virtual int GetChildCount() override
{
return chartControl->Legends->Length;
}
// Gets the Accessibility object of the child CurveLegend idetified by index.
virtual AccessibleObject^ GetChild( int index ) override
{
if ( index >= 0 && index < chartControl->Legends->Length )
{
return chartControl->Legends[ index ]->AccessibilityObject;
}
return nullptr;
}
internal:
// Helper function that is used by the CurveLegend's accessibility object
// to navigate between sibiling controls. Specifically, this function is used in
// the CurveLegend::CurveLegendAccessibleObject.Navigate function.
AccessibleObject^ NavigateFromChild( CurveLegend::CurveLegendAccessibleObject^ child, AccessibleNavigation navdir )
{
switch ( navdir )
{
case AccessibleNavigation::Down:
case AccessibleNavigation::Next:
return GetChild( child->ID + 1 );
case AccessibleNavigation::Up:
case AccessibleNavigation::Previous:
return GetChild( child->ID - 1 );
}
return nullptr;
}
// Helper function that is used by the CurveLegend's accessibility object
// to select a specific CurveLegend control. Specifically, this function is used
// in the CurveLegend::CurveLegendAccessibleObject.Select function.
void SelectChild( CurveLegend::CurveLegendAccessibleObject^ child, AccessibleSelection selection )
{
int childID = child->ID;
// Determine which selection action should occur, based on the
// AccessibleSelection value.
if ( (selection & AccessibleSelection::TakeSelection) != (AccessibleSelection)0 )
{
for ( int i = 0; i < chartControl->Legends->Length; i++ )
{
if ( i == childID )
{
chartControl->Legends[ i ]->Selected = true;
}
else
{
chartControl->Legends[ i ]->Selected = false;
}
}
// AccessibleSelection->AddSelection means that the CurveLegend will be selected.
if ( (selection & AccessibleSelection::AddSelection) != (AccessibleSelection)0 )
{
chartControl->Legends[ childID ]->Selected = true;
}
// AccessibleSelection->AddSelection means that the CurveLegend will be unselected.
if ( (selection & AccessibleSelection::RemoveSelection) != (AccessibleSelection)0 )
{
chartControl->Legends[ childID ]->Selected = false;
}
}
}
};
// class ChartControlAccessibleObject
// Inner class ChartControlAccessibleObject represents accessible information associated with the ChartControl.
// The ChartControlAccessibleObject is returned in the ChartControl.CreateAccessibilityInstance override.
public class ChartControlAccessibleObject : ControlAccessibleObject
{
ChartControl chartControl;
public ChartControlAccessibleObject(ChartControl ctrl) : base(ctrl)
{
chartControl = ctrl;
}
// Gets the role for the Chart. This is used by accessibility programs.
public override AccessibleRole Role
{
get {
return AccessibleRole.Chart;
}
}
// Gets the state for the Chart. This is used by accessibility programs.
public override AccessibleStates State
{
get {
return AccessibleStates.ReadOnly;
}
}
// The CurveLegend objects are "child" controls in terms of accessibility so
// return the number of ChartLengend objects.
public override int GetChildCount()
{
return chartControl.Legends.Length;
}
// Gets the Accessibility object of the child CurveLegend idetified by index.
public override AccessibleObject GetChild(int index)
{
if (index >= 0 && index < chartControl.Legends.Length) {
return chartControl.Legends[index].AccessibilityObject;
}
return null;
}
// Helper function that is used by the CurveLegend's accessibility object
// to navigate between sibiling controls. Specifically, this function is used in
// the CurveLegend.CurveLegendAccessibleObject.Navigate function.
internal AccessibleObject NavigateFromChild(CurveLegend.CurveLegendAccessibleObject child,
AccessibleNavigation navdir)
{
switch(navdir) {
case AccessibleNavigation.Down:
case AccessibleNavigation.Next:
return GetChild(child.ID + 1);
case AccessibleNavigation.Up:
case AccessibleNavigation.Previous:
return GetChild(child.ID - 1);
}
return null;
}
// Helper function that is used by the CurveLegend's accessibility object
// to select a specific CurveLegend control. Specifically, this function is used
// in the CurveLegend.CurveLegendAccessibleObject.Select function.
internal void SelectChild(CurveLegend.CurveLegendAccessibleObject child, AccessibleSelection selection)
{
int childID = child.ID;
// Determine which selection action should occur, based on the
// AccessibleSelection value.
if ((selection & AccessibleSelection.TakeSelection) != 0) {
for(int i = 0; i < chartControl.Legends.Length; i++) {
if (i == childID) {
chartControl.Legends[i].Selected = true;
} else {
chartControl.Legends[i].Selected = false;
}
}
// AccessibleSelection.AddSelection means that the CurveLegend will be selected.
if ((selection & AccessibleSelection.AddSelection) != 0) {
chartControl.Legends[childID].Selected = true;
}
// AccessibleSelection.AddSelection means that the CurveLegend will be unselected.
if ((selection & AccessibleSelection.RemoveSelection) != 0) {
chartControl.Legends[childID].Selected = false;
}
}
}
}
' Inner Class ChartControlAccessibleObject represents accessible information
' associated with the ChartControl.
' The ChartControlAccessibleObject is returned in the ' ChartControl.CreateAccessibilityInstance override.
Public Class ChartControlAccessibleObject
Inherits Control.ControlAccessibleObject
Private chartControl As ChartControl
Public Sub New(ctrl As ChartControl)
MyBase.New(ctrl)
chartControl = ctrl
End Sub
' Get the role for the Chart. This is used by accessibility programs.
Public Overrides ReadOnly Property Role() As AccessibleRole
Get
Return System.Windows.Forms.AccessibleRole.Chart
End Get
End Property
' Get the state for the Chart. This is used by accessibility programs.
Public Overrides ReadOnly Property State() As AccessibleStates
Get
Return AccessibleStates.ReadOnly
End Get
End Property
' The CurveLegend objects are "child" controls in terms of accessibility so
' return the number of ChartLengend objects.
Public Overrides Function GetChildCount() As Integer
Return chartControl.Legends.Length
End Function
' Get the Accessibility object of the child CurveLegend idetified by index.
Public Overrides Function GetChild(index As Integer) As AccessibleObject
If index >= 0 And index < chartControl.Legends.Length Then
Return chartControl.Legends(index).AccessibilityObject
End If
Return Nothing
End Function
' Helper function that is used by the CurveLegend's accessibility object
' to navigate between sibiling controls. Specifically, this function is used in
' the CurveLegend.CurveLegendAccessibleObject.Navigate function.
Friend Function NavigateFromChild(child As CurveLegend.CurveLegendAccessibleObject, _
navdir As AccessibleNavigation) As AccessibleObject
Select Case navdir
Case AccessibleNavigation.Down, AccessibleNavigation.Next
Return GetChild(child.ID + 1)
Case AccessibleNavigation.Up, AccessibleNavigation.Previous
Return GetChild(child.ID - 1)
End Select
Return Nothing
End Function
' Helper function that is used by the CurveLegend's accessibility object
' to select a specific CurveLegend control. Specifically, this function is used
' in the CurveLegend.CurveLegendAccessibleObject.Select function.
Friend Sub SelectChild(child As CurveLegend.CurveLegendAccessibleObject, selection As AccessibleSelection)
Dim childID As Integer = child.ID
' Determine which selection action should occur, based on the
' AccessibleSelection value.
If (selection And AccessibleSelection.TakeSelection) <> 0 Then
Dim i As Integer
For i = 0 To chartControl.Legends.Length - 1
If i = childID Then
chartControl.Legends(i).Selected = True
Else
chartControl.Legends(i).Selected = False
End If
Next i
' AccessibleSelection.AddSelection means that the CurveLegend will be selected.
If (selection And AccessibleSelection.AddSelection) <> 0 Then
chartControl.Legends(childID).Selected = True
End If
' AccessibleSelection.AddSelection means that the CurveLegend will be unselected.
If (selection And AccessibleSelection.RemoveSelection) <> 0 Then
chartControl.Legends(childID).Selected = False
End If
End If
End Sub
End Class
Комментарии
Роль объекта описывает функцию объекта и используется приложениями со специальными возможностями.
Это перечисление используется AccessibleObject в и Control.AccessibleRole
Дополнительные сведения о приложении специальных возможностей можно найти по слову "Майкрософт активные специальные возможности" в библиотеке Майкрософт Developer Network (MSDN).