Tipo di controllo Elenco

In questo argomento vengono fornite informazioni sul supporto di Microsoft Automazione interfaccia utente per il tipo di controllo Elenco.

Il tipo di controllo Elenco consente di organizzare un gruppo o gruppi flat di elementi e consente a un utente di selezionare uno o più di tali elementi. Il tipo di controllo List ha una restrizione debole sui tipi di elementi figlio che può contenere. I provider di automazione interfaccia utente sono quindi in grado di supportare un elemento noto per i contenitori di selezione.

Le sezioni seguenti definiscono la struttura ad albero, le proprietà, i pattern di controllo e gli eventi necessari Automazione interfaccia utente per il tipo di controllo Elenco. I requisiti Automazione interfaccia utente si applicano a tutti i controlli elenco in cui il framework o la piattaforma dell'interfaccia utente si integra Automazione interfaccia utente supporto per i tipi di controllo e i pattern di controllo.

In questo argomento sono contenute le sezioni seguenti.

Struttura ad albero tipica

La tabella seguente illustra un controllo e una visualizzazione contenuto tipici dell'albero Automazione interfaccia utente che riguarda i controlli elenco e descrive cosa può essere contenuto in ogni visualizzazione. Per altre informazioni sull'albero di Automazione interfaccia utente, vedere Panoramica dell'albero di Automazione interfaccia utente.

Visualizzazione controlli Visualizzazione contenuto
Contiene elementi che corrispondono ai controlli. Rimuove le informazioni ridondanti dall'albero in modo che le tecnologie assistive funzionino con il set di informazioni più piccolo significativo per l'utente finale.
  • Elenco
    • DataItem (0 o più)
    • ListItem (0 o più)
    • Group (0 o più)
    • ScrollBar (0, 1 o 2)
  • Elenco
    • DataItem (0 o più)
    • ListItem (0 o più)
    • Group (0 o più)

La visualizzazione controlli per un controllo che implementa il tipo di controllo elenco (ad esempio un controllo elenco) contiene:

  • Zero o più elementi all'interno del controllo elenco (gli elementi possono essere basati sui tipi di controllo ListItem o DataItem )
  • Zero o più controlli gruppo in un controllo elenco
  • Zero, uno o due controlli barra di scorrimento

La visualizzazione contenuto di un controllo che implementa il tipo di controllo elenco (ad esempio un controllo elenco) contiene:

  • Zero o più elementi all'interno del controllo elenco (gli elementi possono essere basati sui tipi di controllo ListItem o DataItem )
  • Zero o più gruppi nel controllo elenco

Un controllo elenco non deve contenere elementi con una relazione gerarchica diversa dal raggruppamento. Se gli elementi hanno elementi figlio nell'albero Automazione interfaccia utente, il contenitore elenco deve essere basato sul tipo di controllo Albero.

Gli elementi selezionabili all'interno del controllo elenco saranno disponibili dai discendenti nell'albero Automazione interfaccia utente del controllo elenco. Tutti gli elementi nel controllo elenco devono appartenere allo stesso gruppo di selezione. Gli elementi selezionabili nell'elenco devono essere esposti come tipi di controllo ListItem (anziché DataItem).

Proprietà pertinenti

Nella tabella seguente sono elencate le proprietà Automazione interfaccia utente il cui valore o definizione è particolarmente rilevante per il tipo di controllo List. Per altre informazioni sulle proprietà di Automazione interfaccia utente, vedere Recupero di proprietà da elementi Automazione interfaccia utente.

Proprietà di automazione interfaccia utente Valore Note
UIA_AutomationIdPropertyId Vedere le note. Il valore di questa proprietà deve essere univoco tra tutti gli elementi peer nella visualizzazione non elaborata dell'albero Automazione interfaccia utente.
UIA_BoundingRectanglePropertyId Vedere le note. Il rettangolo più esterno che contiene l'intero controllo.
UIA_ClickablePointPropertyId Vedere le note. Se il controllo elenco dispone di un punto selezionabile (un punto su cui è possibile fare clic per fare in modo che l'elenco prenda lo stato attivo), tale punto deve essere esposto tramite questa proprietà. Se il valore della proprietà UIA_IsOffscreenPropertyId è TRUE, il tentativo di recuperare questa proprietà genera l'errore UIA_E_NOCLICKABLEPOINT .
UIA_ControlTypePropertyId Elenco
UIA_HelpTextPropertyId Vedere le note. Il testo della Guida per i controlli elenco deve illustrare il motivo per cui viene chiesto all'utente di effettuare una selezione da un elenco di opzioni. Ad esempio, "La selezione di un elemento dall'elenco consente di impostare la risoluzione per il monitor".
UIA_IsContentElementPropertyId TRUE Il controllo elenco viene sempre incluso nella visualizzazione contenuto dell'albero Automazione interfaccia utente.
UIA_IsControlElementPropertyId TRUE Il controllo elenco viene sempre incluso nella visualizzazione controllo dell'albero Automazione interfaccia utente.
UIA_IsKeyboardFocusablePropertyId Vedere le note. Se il controllo può ricevere lo stato attivo, deve supportare questa proprietà.
UIA_LabeledByPropertyId Vedere le note. Se è presente un'etichetta di testo statico, questa proprietà deve esporre un riferimento a tale controllo.
UIA_LocalizedControlTypePropertyId Vedere le note. Stringa localizzata corrispondente al tipo di controllo List . Il valore predefinito è "list" per en-US o english (Stati Uniti).
UIA_NamePropertyId Vedere le note. Il valore della proprietà Name di un controllo elenco deve indicare la categoria di opzioni da cui viene chiesto all'utente di selezionare. Questa proprietà deriva in genere il nome da un'etichetta di testo statico. Se non è presente un'etichetta di testo statico, lo sviluppatore dell'applicazione deve esporre un valore per la proprietà Name .
L'unico caso in cui questa proprietà non è obbligatoria per i controlli elenco è quando si usa il controllo all'interno del sottoalbero di un altro controllo.

Schemi di controllo e proprietà obbligatori

Nella tabella seguente sono elencati i pattern di controllo Automazione interfaccia utente necessari per essere supportati da tutti i controlli elenco. Per altre informazioni sui pattern di controllo, vedere UI Automation Control Patterns Overview.

Pattern di controllo/proprietà del pattern Supporto/valore Note
IGridProvider Dipende da Implementare il pattern di controllo Griglia quando lo spostamento griglia deve essere disponibile in base all'elemento.
IMultipleViewProvider Dipende da Implementare il pattern di controllo MultipleView se il controllo può supportare più visualizzazioni degli elementi nel contenitore.
IScrollProvider Dipende da Implementare il pattern di controllo Scroll se gli elementi nel contenitore sono scorrevoli.
ISelectionProvider Dipende da Se un controllo supporta il tipo di controllo Elenco che supporta la selezione, il controllo deve implementare il pattern di controllo Selection quando viene mantenuto uno stato di selezione tra gli elementi contenuti nel controllo . Se gli elementi all'interno del controllo non sono selezionabili, è possibile utilizzare il tipo di controllo Group .
CanSelectMultiple Dipende da I controlli elenco possono essere contenitori per una o più selezioni.
IsSelectionRequired Dipende da Nei controlli elenco non è necessario che un elemento sia sempre selezionato.
ITableProvider Mai Il pattern di controllo Tabella non è mai supportato per il tipo di controllo List . Se il controllo deve supportare questo pattern di controllo, il controllo deve essere basato sul tipo di controllo DataGrid .

Eventi obbligatori

Nella tabella seguente sono elencati gli eventi Automazione interfaccia utente necessari per supportare i controlli elenco. Per altre informazioni sugli eventi, vedere UI Automation Events Overview.

evento Automazione interfaccia utente Note
UIA_AutomationFocusChangedEventId
UIA_BoundingRectanglePropertyId evento di modifica della proprietà.
UIA_IsEnabledPropertyId evento di modifica della proprietà. Se il controllo supporta la proprietà IsEnabled , deve supportare questo evento.
UIA_IsOffscreenPropertyId evento di modifica della proprietà. Se il controllo supporta la proprietà IsOffscreen , deve supportare questo evento.
UIA_LayoutInvalidatedEventId Se il layout degli elementi figlio può essere modificato, il controllo deve supportare questo evento.
UIA_MultipleViewCurrentViewPropertyId evento di modifica della proprietà. Se il controllo supporta il pattern di controllo MultipleView , deve supportare questo evento.
UIA_ScrollHorizontallyScrollablePropertyId evento di modifica della proprietà. Se il controllo supporta il pattern di controllo Scroll , deve supportare questo evento.
UIA_ScrollHorizontalScrollPercentPropertyId evento di modifica della proprietà. Se il controllo supporta il pattern di controllo Scroll , deve supportare questo evento.
UIA_ScrollHorizontalViewSizePropertyId evento di modifica della proprietà. Se il controllo supporta il pattern di controllo Scroll , deve supportare questo evento.
UIA_ScrollVerticalScrollPercentPropertyId evento di modifica della proprietà. Se il controllo supporta il pattern di controllo Scroll , deve supportare questo evento.
UIA_ScrollVerticallyScrollablePropertyId evento di modifica della proprietà. Se il controllo supporta il pattern di controllo Scroll , deve supportare questo evento.
UIA_ScrollVerticalViewSizePropertyId evento di modifica della proprietà. Se il controllo supporta il pattern di controllo Scroll , deve supportare questo evento.
UIA_Selection_InvalidatedEventId Se il controllo supporta il pattern di controllo Selection , deve supportare questo evento.
UIA_StructureChangedEventId

Informazioni concettuali

Cenni preliminari sui tipi di controllo per l'automazione interfaccia utente

Cenni preliminari su automazione interfaccia utente