Udostępnij przez


Dodatek G: Aktywny most ułatwień dostępu do automatyzacji interfejsu użytkownika

Ten dodatek zawiera informacje o programie Microsoft Active Accessibility Bridge. Mostek aktywnych ułatwień dostępu umożliwia aplikacjom, które implementują dostęp do aplikacji, które implementują automatyzację interfejsu użytkownika firmy Microsoft. Łącząc usługi Microsoft Active Accessibility i UI Automation, klienci korzystający z usług Microsoft Active Accessibility(Np. screenreader w systemie Windows XP) mogą programowo wchodzić w interakcje z dostawcami automatyzacji interfejsu użytkownika opartymi na automatyzacji interfejsu użytkownika, takimi jak aplikacja Windows Presentation Foundation (WPF). Jest on częścią interfejsu API natywnego interfejsu użytkownika (UIAutomationCore.dll).

Mostek aktywnych ułatwień dostępu mapuje właściwości i zdarzenia automatyzacji interfejsu użytkownika na te z aktywnych ułatwień dostępu firmy Microsoft. W poniższych tabelach przedstawiono mapowanie metod interfejsu i właściwości interfejsu i właściwości rozwiązania Microsoft Active Accessibility IAccessible na automatyzację interfejsu użytkownika. Te tabele służą do określania odpowiednich praktyk kodowania na potrzeby opracowywania klienta opartego na ułatwieniach dostępu firmy Microsoft.

Właściwość IAccessible Właściwość automatyzacji interfejsu użytkownika
get_accChild Nie zaimplementowano
get_accChildCount Pochodzi z drzewa automatyzacji interfejsu użytkownika
get_accParent Pochodzi z drzewa automatyzacji interfejsu użytkownika
accNavigate Nie zaimplementowano

 

Właściwości opisowe i metody

IAccessible Automatyzacja interfejsu użytkownika
accDoDefaultAction Aby uzyskać szczegółowe informacje, zobacz tabelę Typy kontrolek i accRole.
get_accDefaultAction Aby uzyskać szczegółowe informacje, zobacz tabelę Typy kontrolek i accRole.
get_accKeyboardShortcut AccessKeyPropertyor AcceleratorKeyPropertyy; jeśli oba te elementy istnieją, właściwość AccessKeyProperty ma pierwszeństwo.
get_accName NameProperty
get_accRole ControlTypeProperty. Aby uzyskać szczegółowe informacje, zobacz tabelę Typy kontrolek i accRole.
get_accState Aby uzyskać szczegółowe informacje, zobacz tabelę Typy kontrolek i accRole.
get_accValue ValueProperty; obsługiwane w przypadku typów kontrolek obsługujących wzorzec kontrolki wartości lub wzorzec wzorca kontrolki RangeValue. Wartości RangeValue są zgodne z zachowaniem aktywnej dostępności firmy Microsoft (od 0 do 100). Elementy wartości używają ciągu.
put_accValue ValueProperty; obsługiwane w przypadku typów kontrolek obsługujących wzorzec kontrolki wartości lub wzorzec kontrolki RangeValue
get_accHelp HelpTextProperty
get_accDescription Nie zaimplementowano
get_accHelpTopic Nie zaimplementowano

 

Typy kontrolek i accRole

Domyślna rola Microsoft Active Accessibility to ROLE_SYSTEM_CLIENT. Jeśli dla typu kontrolki nie zostanie znaleziona żadna domyślna akcja, mostek active accessibility będzie również używać następujących dostępnych wzorców kontrolek: Invoke, ExpandCollapsei Przełącz. Na przykład kontrolka groupbox nie ma akcji domyślnej. Jeśli obsługuje funkcję ExpandCollapse, aktywny mostek ułatwień dostępu użyje go dla akcji domyślnej.

Typ kontrolki automatyzacji interfejsu użytkownika accRole Akcja domyślna
przycisk ROLE_SYSTEM_PUSHBUTTON Prasa
kalendarz ROLE_SYSTEM_CLIENT Żaden
CheckBox ROLE_SYSTEM_CHECKBUTTON Zaznacz/usuń zaznaczenie (przełącznik)
ComboBox ROLE_SYSTEM_COMBOBOX Żaden
Zwyczaj ROLE_SYSTEM_CLIENT Żaden
DataGrid ROLE_SYSTEM_LIST Żaden
DataItem ROLE_SYSTEM_LISTITEM Żaden
dokumentów ROLE_SYSTEM_DOCUMENT Żaden
Edytowanie ROLE_SYSTEM_TEXT Żaden
grupy ROLE_SYSTEM_GROUPING Żaden
nagłówka ROLE_SYSTEM_LIST Żaden
headerItem ROLE_SYSTEM_COLUMNHEADER Klikać
hiperłącza ROLE_SYSTEM_LINK Przeskocz (mapy do wywołania)
obrazu ROLE_SYSTEM_GRAPHIC Żaden
listy ROLE_SYSTEM_LIST Żaden
listitem ROLE_SYSTEM_LISTITEM Kliknij dwukrotnie
menu ROLE_SYSTEM_MENUPOPUP Żaden
paska menu ROLE_SYSTEM_MENUBAR Żaden
MenuItem ROLE_SYSTEM_MENUITEM Wykonaj polecenie lub otwórz/zamknij dla elementów menu, które mają elementy podrzędne.
okienka ROLE_SYSTEM_PANE Żaden
ProgressBar ROLE_SYSTEM_PROGRESSBAR Żaden
RadioButton ROLE_SYSTEM_RADIOBUTTON Sprawdzić
pasek przewijania ROLE_SYSTEM_SCROLLBAR Żaden
suwaka ROLE_SYSTEM_SLIDER Żaden
pokrętła ROLE_SYSTEM_SPINBUTTON Żaden
SplitButton ROLE_SYSTEM_SPLITBUTTON Żaden
StatusBar ROLE_SYSTEM_STATUSBAR Żaden
kart ROLE_SYSTEM_PAGETABLIST Żaden
TabItem ROLE_SYSTEM_PAGETAB Przełącznik
tabeli ROLE_SYSTEM_TABLE Żaden
tekstu ROLE_SYSTEM_STATICTEXT Żaden
thumb ROLE_SYSTEM_INDICATOR Żaden
TitleBar ROLE_SYSTEM_TITLEBAR Żaden
ToolBar ROLE_SYSTEM_TOOLBAR Żaden
ToolTip ROLE_SYSTEM_TOOLTIP Żaden
drzewa ROLE_SYSTEM_OUTLINE Żaden
TreeItem ROLE_SYSTEM_OUTLINEITEM Rozwijanie lub zwijanie
okna ROLE_SYSTEM_WINDOW Żaden

 

Właściwości automatyzacji interfejsu użytkownika i accState

accState Właściwość automatyzacji interfejsu użytkownika Zmiana stanu wyzwalaczy
STATE_SYSTEM_CHECKED Dla kontrolki ControlType = "pole wyboru" użyj polecenia ToggleState.On. W przypadku opcji "radiobutton" użyj SelectionItemPattern::IsSelected Tak
STATE_SYSTEM_FOCUSABLE IsKeyboardFocusableProperty Nie
STATE_SYSTEM_FOCUSED HasKeyboardFocusProperty Nie
STATE_SYSTEM_PROTECTED IsPasswordProperty Nie
STATE_SYSTEM_READONLY IsReadOnlyProperty (wzorzec kontrolki Wartości i wzorzec kontrolki RangeValue) Nie
STATE_SYSTEM_UNAVAILABLE IsEnabledProperty Tak
STATE_SYSTEM_LINKED ControlTypeProperty = "hiperłącze" Nie
STATE_SYSTEM_SELECTABLE Funkcja SelectionItemPattern jest obsługiwana Nie
STATE_SYSTEM_SELECTED IsSelectedProperty (wzorzec kontrolki SelectionItem) Nie
STATE_SYSTEM_COLLAPSED ExpandCollapseState = Zwinięty Tak
STATE_SYSTEM_EXPANDED ExpandCollapseState = Expanded or PartiallyExpanded Tak
STATE_SYSTEM_HASPOPUP Elementy menu obsługujące rozwijanie/zwijanie Nie
STATE_SYSTEM_MIXED ToggleState = Indeterminate Nie
STATE_SYSTEM_SIZEABLE IUIAutomationTransformPattern::CanResize Nie
STATE_SYSTEM_MOVEABLE IUIAutomationTransformPattern::CanMove Nie
STATE_SYSTEM_MULTISELECTABLE IUIAutomationSelectionPattern::CanSelectMultiple Nie

 

Wybór i fokus

IAccessible Automatyzacja interfejsu użytkownika
get_accFocus IUIAutomation::FocusedElement
accSelect Aby uzyskać szczegółowe informacje, zobacz tabelę Właściwości automatyzacji interfejsu użytkownika i accSelect SELFLAGs.
get_accSelection SelectionPattern::GetSelection

 

Właściwości automatyzacji interfejsu użytkownika i accSelect SELFLAGs

accSelect SELFLAGs Właściwość automatyzacji interfejsu użytkownika
SELFLAG_NONE Niedostępne
SELFLAG_TAKFOCUS IUIAutomationElement::SetFocus
SELFLAG_TAKESELECTION IUIAutomationSelectionItemPattern::Wybierz
SELFLAG_ADDSELECTION IUIAutomationSelectionItemPattern::AddToSelection
SELFLAG_TAKEREMOVESELECTION IUIAutomationSelectionItemPattern::RemoveFromSelection
SELFLAG_EXTENDSELECTION Niedostępne

 

Mapowanie przestrzenne

IAccessible Automatyzacja interfejsu użytkownika
accLocation BoundingRectangleProperty
accHitTest IRawElementProviderFragmentRoot::ElementProviderFromPoint

 

Zdarzenia

System-Level stałe zdarzeń Automatyzacja interfejsu użytkownika
EVENT_SYSTEM_MENUPOPUPSTART UIA_MenuOpenedEventId (Uwaga: należy sprawdzić, czy jest to okno podręczne).
EVENT_SYSTEM_MENUPOPUPEND UIA_MenuClosedEventId
EVENT_SYSTEM_MENUSTART UIA_MenuModeStartEventId
EVENT_SYSTEM_MENUEND UIA_MenuModeEndEventId
EVENT_SYSTEM_SOUND
EVENT_SYSTEM_ALERT
EVENT_SYSTEM_CAPTURESTART
EVENT_SYSTEM_CAPTUREEND
EVENT_SYSTEM_DIALOGSTART
EVENT_SYSTEM_DIALOGEND
EVENT_SYSTEM_MOVESIZESTART
EVENT_SYSTEM_MOVESIZEEND
EVENT_SYSTEM_CONTEXTHELPSTART
EVENT_SYSTEM_CONTEXTHELPEND Nie dotyczy
EVENT_SYSTEM_DRAGDROPSTART
EVENT_SYSTEM_DRAGDROPEND
EVENT_SYSTEM_SWITCHSTART Nie dotyczy
EVENT_SYSTEM_SWITCHEND Nie dotyczy
EVENT_SYSTEM_MINIMIZESTART
EVENT_SYSTEM_MINIMIZEEND
EVENT_SYSTEM_FOREGROUND
EVENT_SYSTEM_SCROLLINGSTART Niedostępne
EVENT_SYSTEM_SCROLLINGEND Niedostępne

 

Object-Level stałe zdarzeń Automatyzacja interfejsu użytkownika
EVENT_OBJECT_FOCUS AutomationFocusChangedEvent
EVENT_OBJECT_VALUECHANGE ValueProperty (wzorzec kontrolki wartości i wzorzec kontrolki RangeValue)
EVENT_OBJECT_SELECTION ElementSelectedEvent (wzorzec kontrolki SelectionItem)
EVENT_OBJECT_SELECTIONADD ElementAddedToSelectionEvent (wzorzec kontrolki SelectionItem)
EVENT_OBJECT_SELECTIONREMOVE ElementRemovedFromSelectionEvent
EVENT_OBJECT_SELECTIONWITHIN EventsSelectionInvalidatedEvent
EVENT_OBJECT_STATECHANGE Zobacz Właściwości automatyzacji interfejsu użytkownika i tabelę accState dla stanów, które wyzwalają zmianę stanu