AccessibleRole 枚举
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
指定表示辅助性对象的可能角色的值。
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 | 为输入 Internet 协议 (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 | 数字显示框,也称作 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 枚举与属性结合使用 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
有关辅助功能应用程序的其他信息,请在 Microsoft 开发人员网络 (MSDN) 库中搜索“Microsoft Active Accessibility”。