Udostępnij za pośrednictwem


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

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
  • ListItem
    • Obraz (co najmniej 0)
    • Tekst (co najmniej 0)
    • Edytuj (co najmniej 0)
  • ListItem

 

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.

koncepcyjne

typy kontrolek automatyzacji interfejsu użytkownika — omówienie

Omówienie automatyzacji interfejsu użytkownika