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

为输入 Internet 协议 (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

数字显示框,也称作 up-down 控件,包含一对箭头按钮。 用户用鼠标单击箭头按钮可增加或减小值。 数值调节钮控件经常与配套控件一起使用,被称为合作者窗口,其中显示当前值。

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 枚举与属性结合使用 RoleAccessibleObject有关完整的代码示例,请参阅类概述。

// 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

注解

该对象的角色描述对象的函数,并由辅助功能应用程序使用。

此枚举由 AccessibleObjectControl.AccessibleRole

有关辅助功能应用程序的其他信息,请在 Microsoft 开发人员网络 (MSDN) 库中搜索“Microsoft Active Accessibility”。

适用于

另请参阅