ListItem, typ kontrolki
Ten temat zawiera informacje o obsłudze automatyzacji interfejsu użytkownika firmy Microsoft dla ListItem typu kontrolki.
Kontrolki elementów listy to przykład kontrolek implementujących typ kontrolki ListItem.
W poniższych sekcjach zdefiniowano wymaganą strukturę drzewa automatyzacji interfejsu użytkownika, właściwości, wzorce kontrolek i zdarzenia dla ListItem typu kontrolki. Wymagania automatyzacji interfejsu użytkownika dotyczą wszystkich kontrolek elementów listy, w których platforma/platforma interfejsu użytkownika integruje obsługę automatyzacji interfejsu użytkownika dla typów kontrolek i wzorców kontrolek.
Ten temat zawiera następujące sekcje.
- typowa struktura drzewa
- odpowiednie właściwości
- wymagane wzorce kontrolek
- wymagane zdarzenia
- uwagi
- Tematy pokrewne
Typowa struktura drzewa
W poniższej tabeli przedstawiono typowy widok kontrolki i zawartości drzewa automatyzacji interfejsu użytkownika, który odnosi się do kontrolek elementów listy i opisuje, co można zawierać w każdym widoku. Aby uzyskać więcej informacji na temat drzewa automatyzacji interfejsu użytkownika, zobacz Omówienie drzewa automatyzacji interfejsu użytkownika.
Widok kontrolki | Widok zawartości |
---|---|
|
|
Elementy podrzędne kontrolki elementu listy w widoku zawartości drzewa automatyzacji interfejsu użytkownika muszą zawsze pokazywać zero elementów podrzędnych. Jeśli struktura kontrolki jest taka, że inne elementy znajdują się pod elementem listy, należy przestrzegać wymagań dotyczących obsługi automatyzacji interfejsu użytkownika dla typu kontrolki TreeItem.
Odpowiednie właściwości
W poniższej tabeli wymieniono właściwości automatyzacji interfejsu użytkownika, których wartość lub definicja jest szczególnie istotna dla typu kontrolki ListItem. Aby uzyskać więcej informacji na temat właściwości automatyzacji interfejsu użytkownika, zobacz Pobieranie właściwości z elementów automatyzacji interfejsu użytkownika.
Właściwość automatyzacji interfejsu użytkownika | Wartość | Notatki |
---|---|---|
UIA_AutomationIdPropertyId | Zobacz uwagi. | Wartość tej właściwości musi być unikatowa wśród wszystkich elementów równorzędnych w nieprzetworzonym widoku drzewa automatyzacji interfejsu użytkownika. Przydziel właściwość AutomationId dla elementu listy, jeśli element jest znany jako spójny w różnych wystąpieniach interfejsu użytkownika. Jeśli element listy jest dynamicznie wypełniany i nie jest przewidywalny, pozostaw właściwość AutomationId pustą. |
UIA_BoundingRectanglePropertyId | Zobacz uwagi. | Ta wartość tej właściwości powinna zawierać obszar obrazu i zawartości tekstowej elementu listy. |
UIA_ClickablePointPropertyId | Zależy | Jeśli kontrolka listy ma punkt możliwy do kliknięcia (punkt, który można kliknąć, aby spowodować skupienie listy), ten punkt musi być uwidoczniony za pośrednictwem tej właściwości. Jeśli kontrolka listy jest całkowicie objęta elementami listy potomnej, zwróci błąd UIA_E_NOCLICKABLEPOINT, aby wskazać, że klient musi poprosić element w kontrolce listy o punkt możliwy do kliknięcia. |
UIA_ControlTypePropertyId | listitem | Ta wartość jest taka sama dla wszystkich struktur interfejsu użytkownika. |
UIA_HelpTextPropertyId | Zobacz uwagi. | Tekst Pomocy dla kontrolek listy powinien wyjaśnić, dlaczego użytkownik jest proszony o dokonanie wyboru z listy opcji, która jest zazwyczaj tego samego typu informacjami przedstawionymi za pomocą etykietki narzędzia. Na przykład "Wybierz element, aby ustawić rozdzielczość wyświetlania monitora". |
UIA_IsContentElementPropertyId | true | Kontrolka listy jest zawsze uwzględniana w widoku zawartości drzewa automatyzacji interfejsu użytkownika. |
UIA_IsControlElementPropertyId | true | Kontrolka listy jest zawsze uwzględniana w widoku kontrolki drzewa automatyzacji interfejsu użytkownika. |
UIA_IsKeyboardFocusablePropertyId | Zobacz uwagi. | Jeśli kontener może akceptować dane wejściowe klawiatury, ta wartość właściwości powinna być true. |
UIA_IsOffscreenPropertyId | Zależy | Ta właściwość musi zwrócić wartość dla tego, czy element listy jest obecnie przewijany do widoku w kontenerze nadrzędnym, który implementuje wzorzec kontrolki przewijania przewijania. |
UIA_ItemStatusPropertyId | Zależy | Jeśli kontrolka zawiera stan aktualizowany dynamicznie, ta właściwość musi być obsługiwana, aby technologia pomocna mogła odbierać aktualizacje po zmianie stanu elementu. |
UIA_ItemTypePropertyId | Zależy | Ta właściwość powinna być uwidoczniona dla kontrolek elementów listy reprezentujących obiekt bazowy. Te kontrolki elementów listy zwykle mają ikonę skojarzona z kontrolką, którą użytkownicy kojarzą z obiektem bazowym. |
UIA_LabeledByPropertyId | Zobacz uwagi. | Jeśli istnieje statyczna etykieta tekstowa, ta właściwość musi uwidocznić odwołanie do tej kontrolki. |
UIA_LocalizedControlTypePropertyId | Zobacz uwagi. | Zlokalizowany ciąg odpowiadający typowi kontrolki ListItem. Wartość domyślna to "element listy" dla en-US lub angielski (Stany Zjednoczone). |
UIA_NamePropertyId | Zobacz uwagi. | Wartość właściwości name kontrolki elementu listy pochodzi z etykiety tekstowej elementu. |
Wymagane wzorce kontrolek
W poniższej tabeli wymieniono wzorce kontrolek automatyzacji interfejsu użytkownika wymagane do obsługi wszystkich kontrolek elementów listy. Aby uzyskać więcej informacji na temat wzorców kontrolek, zobacz Wzorce kontrolek automatyzacji interfejsu użytkownika — omówienie.
Wzorzec kontrolki | Wsparcie | Notatki |
---|---|---|
IExpandCollapseProvider | Zależy | Jeśli element można manipulować w celu wyświetlania lub ukrywania informacji, należy zaimplementować wzorzec sterowania ExpandCollapse. |
IGridItemProvider | Zależy | Jeśli nawigacja przestrzenna między elementami jest obsługiwana w kontenerze listy, a kontener jest rozmieszczony w wierszach i kolumnach, należy zaimplementować wzorzec kontrolki GridItem. |
IInvokeProvider | Zależy | Jeśli element ma polecenie, które można na nim wykonać, od zaznaczenia, należy zaimplementować wzorzec sterowania Invoke. Zazwyczaj jest to akcja skojarzona z dwukrotnym kliknięciem kontrolki elementu listy. Przykłady to uruchomienie dokumentu z Eksploratora Windows lub odtwarzanie pliku muzycznego w programie Microsoft Windows Media Player. |
IScrollItemProvider | Zależy | Jeśli element listy znajduje się w kontenerze, który można przewijać, należy zaimplementować wzorzec kontrolki ScrollItem. |
ISelectionItemProvider | Zależy | Kontrolka elementu listy, która obsługuje zaznaczenie, musi implementować wzorzec kontrolki SelectionItem. Dzięki temu elementy listy mogą być przekazywane po ich wybraniu. |
IToggleProvider | Zależy | Jeśli element listy jest sprawdzalny, a akcja nie wykonuje zmiany stanu zaznaczenia, należy zaimplementować wzorzec kontrolki przełącznika . |
IValueProvider | Zależy | Jeśli element można edytować, należy zaimplementować wzorzec kontrolki Wartość. Zmiany w kontrolce elementu listy spowodują zmiany wartości właściwości UIA_NamePropertyId i UIA_ValueValuePropertyId. |
Zdarzenia wymagane
W poniższej tabeli wymieniono zdarzenia automatyzacji interfejsu użytkownika, które wymagają obsługi kontrolek elementów listy. Aby uzyskać więcej informacji na temat zdarzeń, zobacz Omówienie zdarzeń automatyzacji interfejsu użytkownika.
Zdarzenie automatyzacji interfejsu użytkownika | Notatki |
---|---|
UIA_AutomationFocusChangedEventId | |
UIA_BoundingRectanglePropertyId zdarzenie zmienione właściwości. | |
UIA_ExpandCollapseExpandCollapseStatePropertyId zdarzenie zmienione właściwości. | Jeśli kontrolka obsługuje wzorzec kontrolki ExpandCollapse, musi obsługiwać to zdarzenie. |
UIA_Invoke_InvokedEventId | Jeśli kontrolka obsługuje wzorzec kontrolki Invoke, musi obsługiwać to zdarzenie. |
UIA_IsEnabledPropertyId zdarzenie zmienione właściwości. | Jeśli kontrolka obsługuje właściwość IsEnabled, musi obsługiwać to zdarzenie. |
UIA_IsOffscreenPropertyId zdarzenie zmienione właściwości. | Jeśli kontrolka obsługuje właściwość IsOffscreen, musi obsługiwać to zdarzenie. |
UIA_ItemStatusPropertyId zdarzenie zmienione właściwości. | Jeśli kontrolka obsługuje właściwość ItemStatus, musi obsługiwać to zdarzenie. |
UIA_NamePropertyId zdarzenie zmienione właściwości. | |
UIA_SelectionItem_ElementAddedToSelectionEventId | Jeśli kontrolka obsługuje wzorzec kontrolki SelectionItem, musi obsługiwać to zdarzenie. |
UIA_SelectionItem_ElementRemovedFromSelectionEventId | Jeśli kontrolka obsługuje wzorzec kontrolki SelectionItem, musi obsługiwać to zdarzenie. |
UIA_SelectionItem_ElementSelectedEventId | Jeśli kontrolka obsługuje wzorzec kontrolki SelectionItem, musi obsługiwać to zdarzenie. |
UIA_StructureChangedEventId | |
UIA_ToggleToggleStatePropertyId zdarzenie zmienione właściwości. | Jeśli kontrolka obsługuje wzorzec sterowania przełącznika, musi obsługiwać to zdarzenie. |
UIA_ValueValuePropertyId zdarzenie zmienione właściwości. | Jeśli kontrolka obsługuje wzorzec kontrolki Value, musi obsługiwać to zdarzenie. |
Uwagi
Jeśli elementy listy hostów kontenerów, podstawowe środki nawigacji powinny przejść do elementów listy. Umieszczenie fokusu na elementach podrzędnych za pomocą nawigacji na liście może być mylące dla użytkowników i narzędzi ułatwień dostępu. Jeśli kontener hostuje pionową listę elementów, naciśnięcie STRZAŁKA W GÓRĘ i STRZAŁKA W DÓŁ powinno przechodzić przez elementy, ale naciśnięcie STRZAŁKA W PRAWO i STRZAŁKA W LEWO może przechodzić do podelementów elementu ukierunkowanego, takich jak kolumny listy lub podelementy interfejsu użytkownika.
Tematy pokrewne