Elementi dell'interfaccia utente personalizzati
Gli sviluppatori del server progettano oggetti accessibili in base all'interfaccia utente di un'applicazione. Poiché l'accessibilità attiva implementa l'interfaccia IAccessibile per conto degli elementi dell'interfaccia utente forniti dal sistema , ad esempio caselle di riepilogo, menu e controlli trackbar, è necessario implementare l'interfaccia IAccessi solo per i tipi di elementi dell'interfaccia utente personalizzati:
- Controlli personalizzati creati registrando una classe finestra definita dall'applicazione
- Controlli personalizzati creati direttamente sulla schermata che non hanno un HWND associato
- Controlli personalizzati, ad esempio i controlli Microsoft ActiveX e Java
- Controlli o oggetti nella finestra client dell'applicazione che non sono già esposti
I controlli e i menu creati dal proprietario sono accessibili finché si seguono le linee guida descritte in Collegamenti per l'esposizione di elementi dell'interfaccia utente personalizzata. Se si seguono queste linee guida, non è necessario implementare l'interfaccia IAccessibile per i controlli e i menu creati dal proprietario.
Nella maggior parte dei casi, i controlli superclassati e sottoclassati sono accessibili perché il sistema gestisce la funzionalità di base del controllo. Tuttavia, se un controllo superclassato o sottoclassato modifica significativamente il comportamento del controllo fornito dal sistema su cui è basato, è necessario implementare l'interfaccia IAccess . Per altre informazioni, vedere Esposizione di controlli basati sui controlli di sistema.
Se un'applicazione usa solo gli elementi dell'interfaccia utente forniti dal sistema, non deve implementare IAccess, ad eccezione della finestra client. Ad esempio, un'applicazione che include un editor di testo, non implementata usando un controllo di modifica, espone le righe di testo come oggetti accessibili. Si noti che Microsoft Active Accessibility espone automaticamente il testo in controlli di modifica e modifica avanzati come singola stringa di testo nella proprietà Value del controllo.