AccessibleStates Enum
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Anger värden som representerar möjliga tillstånd för ett tillgängligt objekt.
Den här uppräkningen stöder en bitvis kombination av dess medlemsvärden.
public enum class AccessibleStates
[System.Flags]
public enum AccessibleStates
[<System.Flags>]
type AccessibleStates =
Public Enum AccessibleStates
- Arv
- Attribut
Fält
| Name | Värde | Description |
|---|---|---|
| None | 0 | Inget tillstånd. |
| Unavailable | 1 | Ett otillgängligt objekt. |
| Selected | 2 | Ett markerat objekt. |
| Focused | 4 | Ett objekt med tangentbordsfokus. |
| Pressed | 8 | Ett pressat objekt. |
| Checked | 16 | Ett objekt med en markerad kryssruta. |
| Indeterminate | 32 | En kryssruta med tre tillstånd eller en verktygsfältsknapp vars tillstånd är obestämt. Kryssrutan är varken markerad eller avmarkerad, och den är i det tredje eller blandade tillståndet. |
| Mixed | 32 | En kryssruta med tre tillstånd eller en verktygsfältsknapp vars tillstånd är obestämt. Kryssrutan är varken markerad eller avmarkerad, och den är i det tredje eller blandade tillståndet. |
| ReadOnly | 64 | Ett skrivskyddat objekt. |
| HotTracked | 128 | Objektet som spåras av musen, vilket innebär att dess utseende är markerat för att indikera att muspekaren finns över det. |
| Default | 256 | Standardknappen eller menyalternativet. |
| Expanded | 512 | De underordnade objekt som visas i en dispositions- eller trädstruktur. |
| Collapsed | 1024 | De dolda underordnade objekten i objektet som är objekt i en disposition eller trädstruktur. |
| Busy | 2048 | En kontroll som inte kan acceptera indata i det aktuella villkoret. |
| Floating | 4096 | Objektet som inte är fast i gränsen för det överordnade objektet och som inte flyttas automatiskt tillsammans med det överordnade objektet. |
| Marqueed | 8192 | Ett objekt med rullning eller flytt av text eller grafik. |
| Animated | 16384 | Objektet som snabbt eller ständigt ändrar utseende. Grafik som ibland animeras, men inte alltid, bör definieras som Graphic |
| Invisible | 32768 | Ett objekt utan ett synligt användargränssnitt. |
| Offscreen | 65536 | Ingen representation på skärmen. Ett ljud- eller aviseringsobjekt skulle ha det här tillståndet eller ett dolt fönster som aldrig visas. |
| Sizeable | 131072 | Ett ansenligt objekt. |
| Moveable | 262144 | Ett flyttbart objekt. |
| SelfVoicing | 524288 | Objektet eller det underordnade objektet kan använda text-till-tal (TTS) för att beskriva sig själv. Ett talbaserat hjälpmedel bör inte meddela information när ett objekt med det här tillståndet har fokus, eftersom objektet automatiskt meddelar information om sig självt. |
| Focusable | 1048576 | Objektet i det aktiva fönstret som kan ta emot tangentbordsfokus. |
| Selectable | 2097152 | Ett objekt som kan acceptera markeringen. |
| Linked | 4194304 | Ett länkat objekt som inte har markerats tidigare. |
| Traversed | 8388608 | Ett länkat objekt som tidigare har valts. |
| MultiSelectable | 16777216 | Ett objekt som accepterar flera markerade objekt. |
| ExtSelectable | 33554432 | Den ändrade markeringen så att alla objekt mellan markeringsankaret, som är objektet med tangentbordsfokus, och det här objektet får ankarobjektets markeringstillstånd. Om fästpunktsobjektet inte är markerat tas objekten bort från markeringen. Om fästpunktsobjektet är markerat utökas markeringen så att det inkluderar det här objektet och alla objekt däremellan. Du kan ange markeringstillståndet genom att kombinera detta med AddSelection eller RemoveSelection. Det här tillståndet ändrar inte fokus eller markeringsankare om det inte kombineras med TakeFocus. |
| AlertLow | 67108864 | Information med låg prioritet som kanske inte är viktig för användaren. |
| AlertMedium | 134217728 | Viktig information som inte behöver förmedlas till användaren omedelbart. När en indikator på batterinivå till exempel börjar nå en låg nivå kan den generera en avisering på medelnivå. Verktyg för blind åtkomst kan sedan generera ett ljud som låter användaren veta att viktig information är tillgänglig, utan att faktiskt avbryta användarens arbete. Användarna kan sedan fråga efter aviseringsinformationen när de vill. |
| AlertHigh | 268435456 | Viktig information som ska förmedlas till användaren omedelbart. Till exempel skulle en indikator på batterinivå som når en kritisk låg nivå övergå till det här tillståndet, i vilket fall ett verktyg för blind åtkomst skulle meddela denna information omedelbart till användaren, och ett skärmförstoringsprogram skulle rulla skärmen så att batteriindikatorn visas. Det här tillståndet är också lämpligt för alla frågor eller åtgärder som måste slutföras innan användaren kan fortsätta. |
| Protected | 536870912 | En lösenordsskyddad redigeringskontroll. |
| Valid | 1073741823 | Ett giltigt objekt. Den här egenskapen har fasats ut. |
| HasPopup | 1073741824 | Objektet visar en popup-meny eller ett fönster när det anropas. |
Exempel
I följande kodexempel visas hur du skapar en tillgänglighetsmedveten diagramkontroll med hjälp AccessibleObject av klasserna och Control.ControlAccessibleObject för att exponera tillgänglig information. Kontrollen ritar två kurvor tillsammans med en förklaring. Klassen ChartControlAccessibleObject , som härleds från ControlAccessibleObject, används i CreateAccessibilityInstance metoden för att tillhandahålla anpassad tillgänglig information för diagramkontrollen. Eftersom diagramförklaringen inte är en faktisk kontroll baserad på Control, utan i stället ritas av diagramkontrollen, innehåller den ingen inbyggd tillgänglig information.
ChartControlAccessibleObject Därför åsidosätter GetChild klassen metoden för att returnera den CurveLegendAccessibleObject som representerar tillgänglig information för varje del av förklaringen. När ett tillgängligt program använder den här kontrollen kan kontrollen tillhandahålla nödvändig tillgänglig information.
Det här kodutdraget AccessibleStates visar hur du använder uppräkningen med State egenskapen . Se klassöversikten AccessibleObject för det fullständiga kodexemplet.
// 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
Kommentarer
Ett tillgängligt objekt kan associeras med ett eller flera av dessa tillstånd.