Поделиться через


AccessibleRole Перечисление

Определение

Указывает значения, представляющие возможные роли для доступного объекта.

public enum class AccessibleRole
public enum AccessibleRole
type AccessibleRole = 
Public Enum AccessibleRole
Наследование
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-адресов.

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).

Применяется к

См. также раздел