Condividi tramite


Cenni preliminari sui provider di automazione interfaccia utente

Un provider di Automazione interfaccia utente Microsoft è un oggetto software che espone un elemento dell'interfaccia utente di un'applicazione in modo che le applicazioni client di accessibilità possano recuperare informazioni sull'elemento e richiamarne la funzionalità. In generale, ogni controllo o altro elemento distinto in un'interfaccia utente ha un provider.

Microsoft include un provider per ognuno dei controlli standard forniti con Microsoft Win32, Windows Forms e Windows Presentation Foundation (WPF). Ciò significa che i controlli standard vengono esposti automaticamente ai client Automazione interfaccia utente. Non è necessario implementare interfacce di accessibilità per i controlli standard.

Se l'applicazione include controlli personalizzati, è necessario implementare provider di Automazione interfaccia utente per renderli accessibili alle applicazioni client di accessibilità. È anche necessario implementare provider per tutti i controlli di terze parti che non includono un provider. Si implementa un provider implementando interfacce del provider Automazione interfaccia utente e interfacce del pattern di controllo.

In questo argomento viene fornita una panoramica del modo in cui gli sviluppatori di controlli implementano i provider di Automazione interfaccia utente. Include le sezioni seguenti.

Tipi di provider

Automazione interfaccia utente provider rientrano in due categorie: provider lato server e provider lato client (o proxy).

Un provider lato server è un oggetto, ad esempio un controllo personalizzato, che contiene la propria implementazione nativa delle interfacce del provider Automazione interfaccia utente pertinenti. Un provider lato server comunica con le applicazioni client oltre il limite del processo esponendone l'implementazione delle interfacce del provider al core Automazione interfaccia utente, che richiede i servizi dai client. Per altre informazioni sui provider lato server, vedere Implementazione di un provider Server-Side Automazione interfaccia utente.

Un provider lato client, o proxy, è un oggetto che implementa Automazione interfaccia utente interfacce del provider per conto di un controllo non include un'implementazione completa del provider di proprietà. Senza un proxy, tale controllo è in gran parte opaco per Automazione interfaccia utente, che può fornire solo informazioni di base disponibili dall'handle di finestra (HWND), ad esempio la posizione del controllo. In genere, i provider proxy comunicano con l'applicazione oltre il limite del processo inviando e ricevendo messaggi di Windows. Per altre informazioni, vedere Implementazione di un provider di Automazione interfaccia utente Client-Side (proxy).

Concetti relativi al provider di automazione interfaccia utente

In questa sezione viene presentata una breve spiegazione di alcuni concetti chiave fondamentali per l'implementazione di provider di automazione interfaccia utente.

Elementi

Automazione interfaccia utente elementi sono parti dell'interfaccia utente, in genere finestre o controlli, visibili ai client Automazione interfaccia utente. ad esempio finestre delle applicazioni, riquadri, pulsanti, descrizioni comandi, caselle di riepilogo e voci di elenco.

Automazione interfaccia utente elementi vengono esposti ai client come albero. Automazione interfaccia utente costruisce l'albero passando da un elemento a un altro. La navigazione è abilitata dal provider per ogni elemento. Ogni elemento può puntare al proprio elemento padre, ai relativi elementi di pari livello e al primo e all'ultimo elemento figlio.

Un client può visualizzare l'albero Automazione interfaccia utente in tre viste principali, come descritto nella tabella seguente:

Visualizzazione Descrizione
Visualizzazione non elaborata Include tutti gli elementi.
Visualizzazione controlli Include elementi che sono controlli.
Visualizzazione contenuto Include gli elementi di controllo che trasmettono informazioni all'utente.

 

È responsabilità dell'implementazione del provider definire un elemento come elemento contenuto o elemento controllo. Gli elementi controllo possono essere anche elementi contenuto, mentre tutti gli elementi contenuto sono elementi controllo.

Per altre informazioni sulla visualizzazione client dell'albero, vedere panoramica dell'albero di Automazione interfaccia utente.

Framework

Un framework è un componente che gestisce controlli figlio, hit testing e rendering in un'area dello schermo. Ad esempio, una finestra Win32, spesso definita HWND, può fungere da framework che contiene più elementi Automazione interfaccia utente, ad esempio una barra dei menu, una barra di stato e pulsanti.

I controlli contenitore Win32, ad esempio caselle di riepilogo e controlli di visualizzazione albero, sono considerati framework perché contengono il proprio codice per il rendering degli elementi figlio e l'esecuzione di hit test su di essi. Al contrario, una casella di riepilogo WPF non è un framework, perché il rendering e l'hit test vengono gestiti dalla finestra contenitore.

L'interfaccia utente in un'applicazione può essere costituita da framework diversi. Ad esempio, un HWND in un'applicazione può contenere codice HTML dinamico (DHTML) che a sua volta può contenere un componente, ad esempio una casella combinata in un HWND.

Frammenti

Un sottoalbero completo di elementi di un particolare framework è denominato frammento. L'elemento in corrispondenza del nodo radice del sottoalbero è definito radice del frammento. Una radice di frammento non ha un elemento padre, ma è ospitata all'interno di un altro framework, in genere una finestra Win32 (HWND).

Hosts

Il nodo radice di ogni frammento deve essere ospitato in un elemento, in genere una finestra Win32 (HWND). L'eccezione è rappresentata dal desktop, che non è ospitato in nessun altro elemento. L'host di un controllo personalizzato è L'HWND del controllo stesso, non la finestra dell'applicazione o qualsiasi altra finestra che potrebbe contenere gruppi di controlli di primo livello.

L'host di un frammento svolge un ruolo importante nella fornitura di servizi Automazione interfaccia utente. Consente lo spostamento alla radice del frammento e rende disponibili alcune proprietà predefinite in modo che il provider personalizzato debba implementarle.

Informazioni concettuali

Implementazione di un provider di Client-Side Automazione interfaccia utente

Implementazione di un provider di Server-Side Automazione interfaccia utente

Panoramica dell'albero di automazione dell'interfaccia utente