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 | 插入號 (Caret),也就是將視窗工作區 (Client Area) 中的插入點位置標記出來的選取線、區塊或點陣圖。 |
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 | 以工具提示或說明汽球 (Balloon) 形式來顯示的說明,包含有按鈕和標籤,使用者按一下就可以開啟自訂的說明主題。 |
HotkeyField | 50 | 熱鍵欄位,允許使用者輸入按鍵輸入組合或順序以做為熱鍵使用,讓使用者能夠迅速執行動作。 熱鍵控制項會顯示使用者所輸入的按鍵輸入情形,確保使用者選取的是有效的按鍵組合。 |
Indicator | 39 | 指示器 (Indicator),例如指向目前項目的指標圖形。 |
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 | 頁面的索引標籤控制項 (Tab Control) 的容器。 |
Pane | 16 | 可用來顯示資訊之框架中的單獨區域、分割文件視窗或狀態列的矩形區域。 使用者可在窗格之間和目前窗格的內容之內巡覽,但無法在不同窗格內的項目之間巡覽。 因此,窗格代表的群組層級低於框架視窗或文件,但高於個別控制項。 一般來說,使用者在窗格之間巡覽的方式是依照內容而定,按下 TAB、F6 或 CTRL+TAB 鍵。 |
ProgressBar | 48 | 進度列 (Progress Bar),在水平矩形內顯示有色彩的列,以指示耗時作業的進度。 列與矩形的相對長度會對應至已完成作業的百分比。 這個控制項不會取得使用者的輸入。 |
PropertyPage | 38 | 屬性頁,是控制物件 (例如檔案或資源) 的外觀和行為模式的對話方塊。 屬性頁的外觀依照用途而不同。 |
PushButton | 43 | 按鈕控制項,是使用者可以開啟或關閉的小矩形控制項。 按鈕也稱為命令按鈕,預設的關閉狀態下會呈現凸起的外觀,開啟時的外觀則是凹下的。 |
RadioButton | 45 | 選項按鈕 (Option Button 或 Radio Button)。 共用具有這個屬性之單一父系的所有物件都假設屬於單一互斥 (Mutually Exclusive) 群組的一部分。 必要時,您可以使用群組物件將選項按鈕分成不同的群組。 |
Row | 28 | 資料表中的儲存格資料列。 |
RowHeader | 26 | 資料列標頭,提供資料表資料列的視覺標籤。 |
ScrollBar | 3 | 垂直或水平捲軸,可以是工作區的一部分,也可以用於控制項中。 |
Separator | 21 | 視覺上分為兩區的空間,例如分隔符號功能表項目或視窗中將分割視窗隔開的分隔符號。 |
Slider | 51 | 控制項 (有時稱為 TrackBar) 可讓使用者以移動滑桿的方式在最小和最大值之間以指定的增量為單位來調整設定。 Windows 作業系統中的音量控制就是滑桿 (Slider Control)。 |
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
,代表圖例每個部分的可存取訊號。 當可存取感知應用程式使用此控制項時,控制項可以提供必要的可存取訊號。
此範例示範如何搭配 Role 屬性使用 AccessibleRole 列舉。 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」。