Condividi tramite


Panoramica dell'albero di automazione interfaccia utente

Annotazioni

Questa documentazione è destinata agli sviluppatori .NET Framework che vogliono usare le classi di automazione interfaccia utente gestite definite nello spazio dei nomi System.Windows.Automation. Per le informazioni più recenti sull'automazione interfaccia utente, vedere API di automazione di Windows: Automazione interfaccia utente.

I prodotti e gli script di test di assistive technology esplorano l'albero di automazione interfaccia utente per raccogliere informazioni sull'interfaccia utente e sui relativi elementi.

All'interno dell'albero di Automazione interfaccia utente è presente un elemento radice (RootElement) che rappresenta il desktop corrente e i cui elementi figlio rappresentano le finestre dell'applicazione. Ognuno di questi elementi figlio può contenere elementi che rappresentano parti dell'interfaccia utente, ad esempio menu, pulsanti, barre degli strumenti e caselle di riepilogo. Questi elementi a loro volta possono contenere elementi come elementi di elenco.

L'albero di automazione interfaccia utente non è una struttura fissa ed è raramente visto nella sua totalità perché potrebbe contenere migliaia di elementi. Le parti di esso vengono compilate in base alle esigenze e possono subire modifiche man mano che vengono aggiunti, spostati o rimossi elementi.

I provider di automazione interfaccia utente supportano l'albero di automazione interfaccia utente implementando lo spostamento tra gli elementi all'interno di un frammento, costituito da una radice (in genere ospitata in una finestra) e da un sottoalbero. Tuttavia, i provider non sono interessati alla navigazione da un controllo a un altro. Questa operazione viene gestita dal core di automazione interfaccia utente, usando le informazioni dei provider di finestre predefiniti.

Visualizzazioni dell'albero di automazione

L'albero di automazione interfaccia utente può essere filtrato per creare visualizzazioni che contengono solo gli AutomationElement oggetti rilevanti per un determinato client. Questo approccio consente ai client di personalizzare la struttura presentata tramite Automazione interfaccia utente in base alle esigenze specifiche.

Il client ha due modi per personalizzare la visualizzazione: con la definizione dell'ambito e tramite il filtraggio. L'ambito definisce l'estensione della visualizzazione, a partire da un elemento di base: ad esempio, l'applicazione potrebbe voler trovare solo figli diretti dell'applicazione desktop o tutti i discendenti di una finestra dell'applicazione. Il filtro definisce i tipi di elementi da includere nella visualizzazione.

Gli operatori di automazione UI supportano il filtraggio definendo le proprietà sugli elementi, compreso le proprietà IsControlElementProperty e IsContentElementProperty.

Automazione interfaccia utente offre tre visualizzazioni predefinite. Queste visualizzazioni sono definite dal tipo di filtro eseguito; l'ambito di qualsiasi visualizzazione è definito dall'applicazione. Inoltre, l'applicazione può applicare altri filtri alle proprietà; ad esempio, per includere solo i controlli abilitati in una visualizzazione controlli.

Visualizzazione non elaborata

La visualizzazione non elaborata dell'albero di automazione dell'interfaccia utente è l'albero completo degli AutomationElement oggetti per cui il desktop è la radice. La visualizzazione non elaborata segue attentamente la struttura programmatica nativa di un'applicazione e pertanto è la visualizzazione più dettagliata disponibile. È anche la base su cui vengono compilate le altre viste dell'albero. Poiché questa visualizzazione dipende dal framework dell'interfaccia utente sottostante, la visualizzazione non elaborata di un pulsante WPF avrà una visualizzazione non elaborata diversa rispetto a un pulsante Win32.

La visualizzazione non elaborata viene ottenuta cercando elementi senza specificare proprietà o utilizzando RawViewWalker per esplorare l'albero.

Vista di controllo

La visualizzazione di controllo dell'albero di automazione interfaccia utente semplifica l'attività del prodotto assistive technology di descrivere l'interfaccia utente all'utente finale e aiutare l'utente finale a interagire con l'applicazione perché è strettamente mappata alla struttura dell'interfaccia utente percepita da un utente finale.

La visualizzazione controllo è un subset della visualizzazione non elaborata. Include tutti gli elementi dell'interfaccia utente dalla visualizzazione non elaborata che un utente finale può comprendere come interattivo o contribuire alla struttura logica del controllo nell'interfaccia utente. Esempi di elementi dell'interfaccia utente che contribuiscono alla struttura logica della UI, ma non sono interattivi, sono contenitori di elementi come intestazioni di lista, barre degli strumenti, menu e barra di stato. Gli elementi non interattivi usati semplicemente per scopi di layout o decorativi non verranno visualizzati nella visualizzazione controllo. Un esempio è un pannello utilizzato solo per disporre i controlli in una finestra di dialogo, ma non contiene informazioni. Gli elementi non interattivi che verranno visualizzati nella visualizzazione controllo sono grafici con informazioni e testo statico in una finestra di dialogo. Gli elementi non interattivi inclusi nella vista di controllo non possono ricevere il focus della tastiera.

La visualizzazione controllo viene ottenuta cercando per gli elementi con la IsControlElement proprietà impostata su true, oppure utilizzando ControlViewWalker per navigare nell'albero.

Visualizzazione contenuto

La visualizzazione del contenuto dell'albero di automazione dell'interfaccia utente è un sottoinsieme della visualizzazione di controllo. Contiene elementi dell'interfaccia utente che trasmettono informazioni accurate in un'interfaccia utente, inclusi gli elementi dell'interfaccia utente che possono ricevere il focus della tastiera, compreso un testo che non è un'etichetta su un elemento dell'interfaccia utente. Ad esempio, i valori di una casella combinata a discesa verranno visualizzati nella visualizzazione contenuto perché rappresentano le informazioni usate da un utente finale. Nella visualizzazione contenuto, una casella combinata e una casella di riepilogo sono entrambe rappresentate come una raccolta di elementi dell'interfaccia utente in cui è possibile selezionare uno o più elementi. Il fatto che uno sia sempre aperto e che si possa espandere e ridurre è irrilevante nella visualizzazione dei contenuti, perché è progettato per mostrare i dati, o il contenuto, che viene presentato all'utente.

La visualizzazione del contenuto viene ottenuta eseguendo la ricerca di elementi con la proprietà IsContentElement impostata su true, o utilizzando ContentViewWalker per spostarsi nell'albero.

Vedere anche