Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Rdzeń automatyzacji interfejsu użytkownika firmy Microsoft może pobrać wszystkie właściwości dostępności usługi Microsoft Active Accessibility dla dowolnego dostępnego obiektu uwidocznionego przez serwer za pośrednictwem interfejsu IAccessible. Podczas implementowania interfejsu IAccessibleEx należy uwidocznić tylko te aspekty funkcji interfejsu użytkownika, których w przeciwnym razie nie można uwidocznić za pośrednictwem istniejących właściwości ułatwień dostępu Microsoft Active. W tym temacie opisano właściwości i wzorce sterowania automatyzacji interfejsu użytkownika reprezentujące funkcje interfejsu użytkownika, które nie mają odpowiednika w usłudze Microsoft Active Accessibility — są to właściwości i wzorce sterowania, które można uwidocznić w implementacji interfejsu IAccessibleEx .
Ten temat zawiera następujące sekcje:
- Właściwości
- Wzorce kontrolek
- WinEvents dla zdarzeń zmienionych właściwości automatyzacji interfejsu użytkownika
- Tematy pokrewne
Właściwości
Następujące właściwości automatyzacji interfejsu użytkownika nie nakładają się na funkcje microsoft Active Accessibility. Mogą one być używane w implementacji IAccessibleEx :
- AriaProperties
- AriaRole
- Identyfikator automatyzacji
- ClassName
- Program ClickablePoint
- ControllerFor
- Kultura
- Opisane przez
- PrzepływyDo
- Identyfikator struktury
- IsContentElement
- IsControlElement
- IsDataValidForForm
- IsRequiredForForm
- ItemStatus
- Typ elementu
- Etykieta wg
- LocalizedControlType
- Orientacja
Mimo że właściwości Automation acceleratorKey i AccessKey UI automation nakładają się na właściwość accKeyboardShortcut Microsoft Active Accessibility, nadal można ich używać w implementacji IAccessibleEx dla kontrolek, które mają zarówno klucz dostępu, jak i akcelerator. Podobnie właściwość ControlType UI Automation nakłada się na właściwość Microsoft Active Accessibility accRole, ale nadal można jej używać w implementacji IAccessibleEx w celu zdefiniowania bardziej konkretnej roli dla kontrolki.
Ponieważ następujące właściwości elementu automatyzacji interfejsu użytkownika są już objęte właściwościami Microsoft Active Accessibility, nie ma potrzeby ich używać w implementacji IAccessibleEx .
| Właściwość automatyzacji interfejsu użytkownika | Odpowiednik ułatwień dostępu w usłudze Microsoft Active |
|---|---|
| WiązanieRektangle | accLocation |
| HasKeyboardFocus | accState, STATE_SYSTEM_FOCUSED |
| JestWłączony | accState, STATE_SYSTEM_UNAVAILABLE |
| IsKeyboardFocusable | accState, STATE_SYSTEM_FOCUSABLE |
| IsPassword | accState, STATE_SYSTEM_PROTECTED |
| Tekst pomocy | accHelp |
| Nazwa | accName |
| NativeWindowHandle | WindowFromAccessibleObject |
| IsOffscreen | accState, STATE_SYSTEM_INVISIBLE STATE_SYSTEM_OFFSCREEN/ |
| ProcessId | Dostarczane przez rdzeń automatyzacji interfejsu użytkownika |
W przypadku dowolnej nieobsługiwanej właściwości automatyzacji interfejsu użytkownika implementacja metody IRawElementProviderSimple::GetPropertyValue powinna ustawić parametr pRetVal na VT_EMPTY i zwrócić S_OK. Zwracanie UIA_E_NOTSUPPORTED może spowodować, że serwer proxy MSAA-to-UIA usunie domyślne mapowanie odpowiedniej właściwości.
Wzorce kontrolek
Następujące wzorce kontrolek automatyzacji interfejsu użytkownika nie nakładają się na funkcje microsoft Active Accessibility. Mogą one być używane w implementacji IAccessibleEx :
- Stacja dokująca
- Rozwińcollapse
- Siatka
- GridItem
- MultipleView
- RangeValue
- Przewijać
- ScrollItem
- SyncdInput
- Tabela
- TableItem
- Przekształć
W przypadku wzorców kontrolek RangeValue i Transform niektóre metody nakładają się między wzorcem kontrolki automatyzacji interfejsu użytkownika a metodami ułatwień dostępu Microsoft Active. W takich przypadkach oba muszą zostać zaimplementowane. Na przykład obie metody IAccessible::get_accValue i IAccessible::p ut_accValue muszą być zaimplementowane, podobnie jak metodyIRangeValue Automation IRangeValueProvider::Value i IRangeValueProvider::SetValue . Wewnętrznie implementacja może współużytkować kod. To wymaganie implementacji obu zestawów pozwala uniknąć częściowej implementacji interfejsu wzorca, zachowując jednocześnie możliwość użycia interfejsu IAccessible przez istniejących klientów dostępu Microsoft Active Accessibility.
Następujące wzorce sterowania automatyzacji interfejsu użytkownika nie są wymagane, gdy kontrolka ma jedną z ról opisanych poniżej; w przeciwnym razie powinny one być jawnie obsługiwane, jeśli jest to istotne.
| Wzorzec kontrolki automatyzacji interfejsu użytkownika | Rola microsoft Active Accessibility |
|---|---|
| InvokePattern | ROLE_SYSTEM_PUSHBUTTON, ROLE_SYSTEM_MENUITEM, ROLE_SYSTEM_BUTTONDROPDOWN, ROLE_SYSTEM_SPLITBUTTON i dowolną inną rolę, w której wartość właściwości accDefaultAction nie ma wartości NULL. |
| SelectionItemPattern | ROLE_SYSTEM_LISTITEM, ROLE_SYSTEM_RADIOBUTTON |
| WybórPattern | ROLE_SYSTEM_LIST |
| Przełączpattern | ROLE_SYSTEM_CHECKBUTTON |
| ValuePattern | ROLE_SYSTEM_TEXT (jeśli nie jest tylko do odczytu), ROLE_SYSTEM_PROGRESSBAR, ROLE_SYSTEM_COMBOBOX i dowolną inną rolę, gdy wartość właściwości accValue nie ma wartości NULL. |
| OknoPattern | Automatycznie obsługiwane na najwyższym poziomie usługi Microsoft Win32 HWNDs. |
WinEvents dla zdarzeń zmienionych właściwości automatyzacji interfejsu użytkownika
Oprócz zdarzeń zdefiniowanych dla funkcji IAccessible są również zdefiniowane następujące identyfikatory zdarzeń i mogą być używane z implementacją IAccessibleEx jako zdarzenia zmienione właściwości dla odpowiednich właściwości automatyzacji interfejsu użytkownika. Korzystają one z tego samego mechanizmu co zdarzenia zdefiniowane dla funkcji IAccessible. Aby uzyskać więcej informacji, zobacz WinEvents.
W przypadku zdarzeń powyżej, które mają wartość EVENT_OBJECT_ wymienioną po nich, a implementacja IAccessibleEx powinna wyzwalać to zdarzenie oprócz wymienionego zdarzenia zmienionego. Dzięki temu istniejący kod klienta IAccessibleEx będzie nadal działać, przekazując bardziej szczegółowe informacje o zdarzeniach dla zainteresowanych klientów.
Tematy pokrewne