Interfaccia IAccessibleEx
I controlli che non hanno un provider di automazione interfaccia utente Microsoft, ma che implementano IAccessible, possono essere facilmente aggiornati per fornire alcune funzionalità di automazione interfaccia utente implementando l'interfaccia IAccessibleEx. Questa interfaccia consente al controllo di esporre delle proprietà di Automazione dell'interfaccia utente e i pattern di controllo, senza la necessità di un'implementazione completa delle interfacce del provider di Automazione dell'interfaccia utente, ad esempio, IRawElementProviderFragment. Per usare IAccessibleEx, IRawElementProviderFragmente tutte le altre interfacce di 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 proprietà minime e massime, il server non dispone dei mezzi per restituire i valori minimo e massimo del controllo. Un client di interfaccia utente di automazione è in grado di recuperare il ruolo del controllo, il valore corrente e altre proprietà di Microsoft Active Accessibility, perché il core dell'automazione interfaccia utente può ottenerli tramite IAccessible. Tuttavia, senza accesso a un'interfaccia IRangeValueProvider sull'oggetto, Automazione UI non è in grado di recuperare i valori massimi e minimi.
Lo sviluppatore del controllo potrebbe fornire un provider completo di automazione dell'interfaccia utente per il controllo, ma ciò significherebbe duplicare gran parte delle funzionalità già presenti nell'implementazione IAccessible: ad esempio, navigazione e proprietà comuni. Al contrario, lo sviluppatore può continuare a basarsi su IAccessible per fornire questa funzionalità, aggiungendo al tempo stesso il supporto per proprietà specifiche del controllo tramite IRangeValueProvider.
In questa sezione
- linee guida per l'implementazione IAccessibleEx
- Implementazione di IAccessibleEx per provider
- Uso di IAccessibleEx da parte di un client
Argomenti correlati