Confronto tra Accessibilità e Automazione interfaccia utente Microsoft Active
L'API di automazione di Windows è costituita da due tecnologie: Microsoft Active Accessibility e Microsoft Automazione interfaccia utente. Microsoft Active Accessibility è la tecnologia di accessibilità legacy introdotta come componente aggiuntivo della piattaforma per Windows 95, mentre Automazione interfaccia utente è una tecnologia più recente e più in grado di superare le limitazioni intrinseche in Microsoft Active Accessibility.
Questo argomento fornisce un riepilogo delle principali differenze tra Microsoft Active Accessibility e Automazione interfaccia utente. Include le sezioni seguenti:
- Principi di progettazione di base
- Proprietà e pattern di controllo
- Ruoli msaa e modelli di controllo Automazione interfaccia utente
- Struttura di spostamento del modello a oggetti
- Estendibilità del modello a oggetti
- Transizione da MSAA
- Scelta di Microsoft Active Accessibility, Automazione interfaccia utente o IAccessibleEx
- Argomenti correlati
Principi di progettazione di base
Anche se Microsoft Active Accessibility e Automazione interfaccia utente sono due tecnologie diverse, i principi di progettazione di base sono simili. Lo scopo di entrambe le tecnologie è esporre informazioni dettagliate sugli elementi dell'interfaccia utente usati nelle applicazioni Windows. Gli sviluppatori di strumenti di accessibilità possono usare queste informazioni per creare software che rende le applicazioni in esecuzione in Windows più accessibili alle persone con problemi di visione, udito o movimento.
Sia Microsoft Active Accessibility che Automazione interfaccia utente esporre il modello a oggetti dell'interfaccia utente come albero gerarchico, rooted sul desktop. Microsoft Active Accessibility rappresenta i singoli elementi dell'interfaccia utente come oggetti accessibili e Automazione interfaccia utente li rappresenta come elementi di automazione. Entrambi fanno riferimento allo strumento di accessibilità o al programma di automazione software come client. Tuttavia, Microsoft Active Accessibility fa riferimento all'applicazione o al controllo che offre l'interfaccia utente per l'accessibilità come server, mentre Automazione interfaccia utente fa riferimento a questo come provider.
Proprietà e pattern di controllo
Microsoft Active Accessibility offre un'interfaccia COM (Component Object Model) singola con un set fisso e piccolo di proprietà. Automazione interfaccia utente offre un set più completo di proprietà, nonché un set di interfacce estese denominate pattern di controllo per modificare gli oggetti accessibili nei modi in cui Microsoft Active Accessibility non può.
Per altre informazioni, vedere Panoramica delle proprietà di Automazione interfaccia utente e panoramica dei modelli di controllo Automazione interfaccia utente.
Ruoli msaa e modelli di controllo Automazione interfaccia utente
Microsoft ha progettato il modello a oggetti Microsoft Active Accessibility contemporaneamente al rilascio di Windows 95. Il modello si basa sui "ruoli" definiti dieci anni fa e non è possibile supportare nuovi comportamenti dell'interfaccia utente o unire due o più ruoli insieme. Non esiste un modello a oggetti di testo, ad esempio, per aiutare le tecnologie di assistive technology a gestire contenuti Web complessi. Automazione interfaccia utente supera queste limitazioni introducendo modelli di controllo che consentono agli oggetti di supportare più ruoli e il pattern di controllo text Automazione interfaccia utente offre un modello a oggetti di testo completo.
Struttura di spostamento del modello a oggetti
Un'altra limitazione di Microsoft Active Accessibility comporta l'esplorazione del modello a oggetti. Microsoft Active Accessibility rappresenta l'interfaccia utente come gerarchia di oggetti accessibili. I client passano da un oggetto accessibile a un altro usando interfacce e metodi disponibili dall'oggetto accessibile. I server possono esporre gli elementi figlio di un oggetto accessibile con proprietà dell'interfaccia IAccessible o con l'interfaccia COM IEnumVARIANT standard. I client, tuttavia, devono essere in grado di gestire entrambi gli approcci per qualsiasi server. Questa ambiguità implica un lavoro aggiuntivo per gli implementatori client e i modelli a oggetti accessibili interrotti per gli implementatori del server.
Automazione interfaccia utente rappresenta l'interfaccia utente come albero gerarchico degli elementi di automazione e fornisce una singola interfaccia per spostarsi nell'albero. I client possono personalizzare la visualizzazione degli elementi nell'albero tramite l'ambito e il filtro.
Estendibilità del modello a oggetti
Le proprietà e le funzioni di Accessibilità Microsoft Active Non possono essere estese senza interrompere o modificare la specifica dell'interfaccia COM IAccessible . Il risultato è che il nuovo comportamento del controllo non può essere esposto tramite il modello a oggetti; tende a essere statico.
Con Automazione interfaccia utente, man mano che vengono creati nuovi elementi dell'interfaccia utente, gli sviluppatori di applicazioni possono introdurre proprietà personalizzate, modelli di controllo ed eventi per descrivere i nuovi elementi. Per altre informazioni, vedere Proprietà, eventi e pattern di controllo personalizzati.
Transizione da MSAA
Il framework dell'API di Automazione di Windows offre il supporto per la transizione da server Di accessibilità Microsoft Active a provider di Automazione interfaccia utente. L'interfaccia IAccessibleEx consente il supporto per proprietà e pattern di controllo specifici di Automazione interfaccia utente da aggiungere ai server di accessibilità Microsoft ActiveEx legacy senza dover riscrivere l'intera implementazione. L'interfaccia IAccessibleEx consente anche ai client Microsoft Active Accessibility in-process di accedere direttamente alle interfacce del provider Automazione interfaccia utente anziché tramite Automazione interfaccia utente interfacce client. Per altre informazioni, vedere Interfaccia IAccessibleEx.
Scelta di Microsoft Active Accessibility, Automazione interfaccia utente o IAccessibleEx
Questa sezione consente di determinare la soluzione API di Automazione Windows da usare per implementare un prodotto di assistive technology o per rendere l'applicazione accessibile ai prodotti di assistive technology.
Nuove applicazioni e controlli
Se si sviluppa una nuova applicazione o un nuovo controllo, Microsoft consiglia di usare Automazione interfaccia utente. Anche se Microsoft Active Accessibility può essere più semplice da implementare a breve termine, le limitazioni intrinseche in questa tecnologia, ad esempio il modello a oggetti obsoleto e l'impossibilità di supportare nuovi comportamenti dell'interfaccia utente o ruoli di merge, rende più difficile e costoso a lungo termine. Queste limitazioni diventano particolarmente evidenti quando si introducono nuovi controlli.
Il modello a oggetti Automazione interfaccia utente è più facile da usare ed è più flessibile rispetto a quello di Microsoft Active Accessibility. Gli elementi di automazione interfaccia utente riflettono l'evoluzione delle interfacce utente e gli sviluppatori possono definire modelli di controllo, proprietà ed eventi personalizzati Automazione interfaccia utente.
Microsoft Active Accessibility tende a essere eseguito lentamente per i client che esauriscono il processo. Per migliorare le prestazioni, gli sviluppatori di programmi di strumenti di accessibilità spesso scelgono di collegarsi ed eseguire i programmi nel processo dell'applicazione di destinazione: un approccio estremamente difficile e rischioso. Automazione interfaccia utente è molto più semplice da implementare per i client out-of-process e offre prestazioni e affidabilità molto migliori.
Implementazioni di accessibilità microsoft active esistenti
Se si aggiorna un'applicazione o un controllo esistente basato su Microsoft Active Accessibility, è consigliabile aggiungere il supporto per Automazione interfaccia utente implementando l'interfaccia IAccessibleEx. Assicurarsi prima di tutto che l'applicazione o il controllo soddisfi i requisiti seguenti:
- La gerarchia di base del server Microsoft Active Accessibility degli oggetti accessibili deve essere ben organizzata e senza errori. IAccessibleEx non è in grado di risolvere i problemi relativi alle gerarchie di oggetti accessibili esistenti.
- L'implementazione IAccessibleEx deve essere conforme alla specifica Microsoft Active Accessibility e alla specifica Automazione interfaccia utente. Microsoft offre un set di strumenti per convalidare la conformità con entrambe le specifiche. Per altre informazioni, vedere Test per l'accessibilità.
Se uno di questi requisiti non è soddisfatto, è consigliabile implementare Automazione interfaccia utente in modo nativo. Se necessario, è possibile mantenere le implementazioni legacy del server Microsoft Active Accessibility per garantire la compatibilità con le versioni precedenti. Dal punto di vista del client Automazione interfaccia utente, non esiste alcuna differenza tra i provider di Automazione interfaccia utente e i server di accessibilità Microsoft Active che implementano correttamente IAccessibleEx.
Per altre informazioni, vedere Interfaccia IAccessibleEx.
Argomenti correlati