Funzionamento dell'accessibilità attiva
Microsoft Active Accessibility è progettato per facilitare l'accessibilità, denominati client, interagire con elementi dell'interfaccia utente standard e personalizzati di altre applicazioni e del sistema operativo. Un client Microsoft Active Accessibility è qualsiasi programma che usa Microsoft Active Accessibility per accedere, identificare o modificare gli elementi dell'interfaccia utente di un'applicazione. I client includono strumenti di accessibilità, strumenti di test automatizzati e alcune applicazioni di training basate su computer.
Usando Microsoft Active Accessibility, un'applicazione client può:
- Eseguire una query per ottenere informazioni; Ad esempio, informazioni su un elemento dell'interfaccia utente in una determinata posizione.
- Ricevere notifiche quando le informazioni cambiano; Ad esempio, quando un controllo diventa disattivato o quando viene modificata una stringa di testo.
- Eseguire azioni che influiscono sull'interfaccia utente o sul contenuto del documento; Ad esempio, fare clic su un pulsante push, selezionare un menu a discesa e scegliere un comando di menu.
Le applicazioni che interagiscono con e forniscono informazioni per i client sono denominate server. Un server usa Microsoft Active Accessibility per fornire informazioni sugli elementi dell'interfaccia utente ai client. Qualsiasi controllo, modulo o applicazione che usa Microsoft Active Accessibility per esporre informazioni sull'interfaccia utente viene considerato un server Microsoft Active Accessibility. I server comunicano con i client inviando notifiche degli eventi (ad esempio chiamando NotifyWinEvent) e rispondendo alle richieste client per l'accesso agli elementi dell'interfaccia utente, ad esempio la gestione di WM_GETOBJECT messaggi inviati da OLEACC. I server espongono informazioni tramite l'interfaccia IAccessible .
Usando Microsoft Active Accessibility, un'applicazione server può:
- Fornire informazioni sugli oggetti dell'interfaccia utente personalizzati e sul contenuto delle relative finestre client.
- Inviare notifiche quando cambia l'interfaccia utente.
Ad esempio, per consentire a un utente di selezionare i comandi verbalmente da una barra degli strumenti personalizzata di word processor, un programma di riconoscimento vocale deve avere informazioni su tale barra degli strumenti. Il word processor dovrà quindi rendere disponibili tali informazioni. Microsoft Active Accessibility consente al word processor di esporre informazioni sulla barra degli strumenti personalizzata e al programma di riconoscimento vocale per ottenere tali informazioni.
Applicazioni client e accessibilità attiva
Un client Microsoft Active Accessibility deve ricevere una notifica quando l'interfaccia utente del server è stata modificata in modo che possa comunicare tali informazioni all'utente. Per assicurarsi che il client venga informato sulle modifiche dell'interfaccia utente, usa un meccanismo denominato Eventi finestra o WinEvents per la registrazione per ricevere le notifiche. Per altre informazioni, vedere WinEvents.
Per informazioni su e modifica un particolare elemento dell'interfaccia utente, i client usano l'interfaccia COM (Microsoft Active Accessibility Component Object Model), IAccessible.
Un client può recuperare un oggetto IAccessible per un elemento dell'interfaccia utente nei quattro modi seguenti:
- Chiamare AccessibleObjectFromWindow e passare l'handle della finestra dell'elemento dell'interfaccia utente.
- Chiamare AccessibleObjectFromPoint e passare una posizione dello schermo che si trova all'interno del rettangolo di delimitazione dell'elemento dell'interfaccia utente.
- Impostare un hook WinEvent, ricevere una notifica e chiamare AccessibleObjectFromEvent per recuperare un puntatore di interfaccia IAccessible per l'elemento dell'interfaccia utente che ha generato l'evento.
- Chiamare un metodo IAccessible , ad esempio accNavigate o get_accParent per passare a un oggetto IAccessible diverso.