Udostępnij za pośrednictwem


Typ kontrolki listy

Ten temat zawiera informacje o obsłudze automatyzacji interfejsu użytkownika firmy Microsoft dla typu kontrolek listy.

Typ kontrolki listy umożliwia organizowanie płaskiej grupy lub grup elementów i umożliwia użytkownikowi wybranie co najmniej jednego z tych elementów. Typ kontrolki listy ma luźne ograniczenie dotyczące typów elementów podrzędnych, które mogą zawierać. Dzięki temu dostawcy automatyzacji interfejsu użytkownika mogą obsługiwać dobrze znany element dla kontenerów wyboru.

W poniższych sekcjach zdefiniowano wymaganą strukturę drzewa automatyzacji interfejsu użytkownika, właściwości, wzorce kontrolek i zdarzenia dla typu kontrolki Lista. Wymagania automatyzacji interfejsu użytkownika mają zastosowanie do wszystkich kontrolek 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 odnoszącego się do kontrolek listy i opisano, 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
Zawiera elementy, które odpowiadają kontrolkom. Usuwa nadmiarowe informacje z drzewa, aby technologie pomocnicze współdziałały z najmniejszym zestawem informacji zrozumiałych dla użytkownika końcowego.
  • Lista
    • DataItem (co najmniej 0)
    • ListItem (co najmniej 0)
    • Grupa (co najmniej 0)
    • Pasek przewijania (0, 1 lub 2)
  • Lista
    • DataItem (co najmniej 0)
    • ListItem (co najmniej 0)
    • Grupa (co najmniej 0)

Widok kontrolki kontrolki implementujący typ kontrolki Lista (na przykład kontrolka listy) składa się z następujących elementów:

  • Zero lub więcej elementów w kontrolce listy (elementy mogą być oparte na ListItem lub DataItem typów kontrolek)
  • Zero lub więcej kontrolek grupy w kontrolce listy
  • Zero, jeden lub dwa kontrolki paska przewijania

Widok zawartości kontrolki implementujący typ kontrolki Lista (na przykład kontrolka listy) składa się z następujących elementów:

  • Zero lub więcej elementów w kontrolce listy (elementy mogą być oparte na ListItem lub DataItem typów kontrolek)
  • Zero lub więcej grup w kontrolce listy

Kontrolka listy nie może zawierać elementów, które mają relację hierarchiczną inną niż grupowanie. Jeśli elementy mają elementy podrzędne w drzewie automatyzacji interfejsu użytkownika, kontener listy powinien być oparty na typie kontrolki Tree.

Wybrane elementy w kontrolce listy będą dostępne z elementów podrzędnych w drzewie automatyzacji interfejsu użytkownika kontrolki listy. Wszystkie elementy w kontrolce listy muszą należeć do tej samej grupy wyboru. Wybrane elementy na liście powinny być widoczne jako ListItem (zamiast DataItem) typów kontrolek.

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 listy. 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.
UIA_BoundingRectanglePropertyId Zobacz uwagi. Najbardziej oddalony prostokąt, który zawiera całą kontrolkę.
UIA_ClickablePointPropertyId Zobacz uwagi. 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 wartość właściwości UIA_IsOffscreenPropertyId jest true, próba pobrania tej właściwości spowoduje błąd UIA_E_NOCLICKABLEPOINT.
UIA_ControlTypePropertyId listy
UIA_HelpTextPropertyId Zobacz uwagi. Tekst Pomocy dla kontrolek listy powinien wyjaśnić, dlaczego użytkownik jest proszony o dokonanie wyboru z listy opcji. Na przykład "Wybór elementu z tej listy spowoduje ustawienie rozdzielczości wyświetlania dla 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 kontrolka może odbierać fokus klawiatury, musi obsługiwać tę właściwość.
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 lista . Wartość domyślna to "list" dla en-US lub angielski (Stany Zjednoczone).
UIA_NamePropertyId Zobacz uwagi. Wartość właściwości Name kontrolki listy powinna przekazać kategorię opcji, z których użytkownik jest proszony o wybranie. Ta właściwość zazwyczaj pobiera swoją nazwę z etykiety tekstowej statycznej. Jeśli nie ma statycznej etykiety tekstowej, deweloper aplikacji musi uwidocznić wartość właściwości nazwa.
Jedynym czasem, gdy ta właściwość nie jest wymagana dla kontrolek listy, jest to, czy kontrolka jest używana w poddrzewie innej kontrolki.

Wymagane wzorce i właściwości kontrolek

W poniższej tabeli wymieniono wzorce kontrolek automatyzacji interfejsu użytkownika wymagane do obsługi wszystkich kontrolek listy. Aby uzyskać więcej informacji na temat wzorców kontrolek, zobacz Wzorce kontrolek automatyzacji interfejsu użytkownika — omówienie.

Wzorzec/wzorzec kontrolki, właściwość Pomoc techniczna/wartość Notatki
IGridProvider Zależy Zaimplementuj wzorzec kontrolki Grid, gdy nawigacja siatki musi być dostępna dla elementu według elementu.
IMultipleViewProvider Zależy Zaimplementuj wzorzec kontrolki MultipleView, jeśli kontrolka może obsługiwać wiele widoków elementów w kontenerze.
IScrollProvider Zależy Zaimplementuj wzorzec kontrolki przewijania , jeśli elementy w kontenerze można przewijać.
ISelectionProvider Zależy Jeśli kontrolka obsługuje typ kontrolki Lista, która obsługuje zaznaczenie, kontrolka musi zaimplementować wzorzec kontrolki Zaznaczenie, gdy stan zaznaczenia jest utrzymywany między elementami zawartymi w kontrolce. Jeśli elementy w kontrolce nie można zaznaczyć, można użyć grupy typ kontrolki.
CanSelectMultiple Zależy Kontrolki listy mogą być kontenerami pojedynczego lub wielokrotnego wyboru.
IsSelectionRequired Zależy Kontrolki listy nie zawsze wymagają wybrania elementu.
ITableProvider Nigdy Wzorzec kontrolki tabeli nigdy nie jest obsługiwany dla typu kontrolki listy. Jeśli kontrolka musi obsługiwać ten wzorzec kontrolki, kontrolka powinna być oparta na typie kontrolki DataGrid.

Zdarzenia wymagane

W poniższej tabeli wymieniono zdarzenia automatyzacji interfejsu użytkownika, które zawierają listę kontrolek wymaganych do obsługi. 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_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_LayoutInvalidatedEventId Jeśli można zmienić układ elementów podrzędnych, kontrolka musi obsługiwać to zdarzenie.
UIA_MultipleViewCurrentViewPropertyId zdarzenie zmienione właściwości. Jeśli kontrolka obsługuje wzorzec sterowania MultipleView, musi obsługiwać to zdarzenie.
UIA_ScrollHorizontallyScrollablePropertyId zdarzenie zmienione właściwości. Jeśli kontrolka obsługuje wzorzec kontrolki przewijania przewijania, musi obsługiwać to zdarzenie.
UIA_ScrollHorizontalScrollPercentPropertyId zdarzenie zmienione właściwości. Jeśli kontrolka obsługuje wzorzec kontrolki przewijania przewijania, musi obsługiwać to zdarzenie.
UIA_ScrollHorizontalViewSizePropertyId zdarzenie zmienione właściwości. Jeśli kontrolka obsługuje wzorzec kontrolki przewijania przewijania, musi obsługiwać to zdarzenie.
UIA_ScrollVerticalScrollPercentPropertyId zdarzenie zmienione właściwości. Jeśli kontrolka obsługuje wzorzec kontrolki przewijania przewijania, musi obsługiwać to zdarzenie.
UIA_ScrollVerticallyScrollablePropertyId zdarzenie zmienione właściwości. Jeśli kontrolka obsługuje wzorzec kontrolki przewijania przewijania, musi obsługiwać to zdarzenie.
UIA_ScrollVerticalViewSizePropertyId zdarzenie zmienione właściwości. Jeśli kontrolka obsługuje wzorzec kontrolki przewijania przewijania, musi obsługiwać to zdarzenie.
UIA_Selection_InvalidatedEventId Jeśli kontrolka obsługuje wzorzec kontrolki Selection, musi obsługiwać to zdarzenie.
UIA_StructureChangedEventId

koncepcyjne

typy kontrolek automatyzacji interfejsu użytkownika — omówienie

Omówienie automatyzacji interfejsu użytkownika