Condividi tramite


Interfaccia IAccessibleEx

I controlli che non dispongono di un provider microsoft Automazione interfaccia utente, ma che implementano IAccessible, possono essere facilmente aggiornati per fornire alcune funzionalità Automazione interfaccia utente implementando l'interfaccia IAccessibleEx. Questa interfaccia consente al controllo di esporre Automazione interfaccia utente proprietà e pattern di controllo, senza la necessità di un'implementazione completa delle interfacce del provider Automazione interfaccia utente, ad esempio IRawElementProviderFragment. Per usare IAccessibleEx, IRawElementProviderFragment e tutte le altre interfacce Automazione interfaccia utente, includere il file di intestazione UIAutomation.h nel codice sorgente.

Si consideri ad esempio un controllo personalizzato con un valore di intervallo. Il server Microsoft Active Accessibility per il controllo definisce il ruolo del controllo ed è in grado di restituire il valore corrente. Tuttavia, poiché Microsoft Active Accessibility non definisce le proprietà minime e massime, il server non dispone dei mezzi per restituire i valori minimo e massimo del controllo. Un client Automazione interfaccia utente è in grado di recuperare il ruolo del controllo, il valore corrente e altre proprietà di Accessibilità Di Microsoft Active, perché il core Automazione interfaccia utente può ottenere queste proprietà tramite IAccessible. Tuttavia, senza accesso a un'interfaccia IRangeValueProvider nell'oggetto, Automazione interfaccia utente non è in grado di recuperare i valori massimi e minimi.

Lo sviluppatore del controllo potrebbe fornire un provider di Automazione interfaccia utente completo per il controllo, ma ciò significherebbe duplicare gran parte delle funzionalità esistenti dell'implementazione IAccessible: ad esempio, la navigazione e le proprietà comuni. Lo sviluppatore può invece continuare a basarsi su IAccessible per fornire questa funzionalità, aggiungendo al tempo stesso il supporto per le proprietà specifiche del controllo tramite IRangeValueProvider.

Contenuto della sezione

Infrastruttura comune