Microsoft Active Accessibility dan UI Automation Compared

Windows Automation API terdiri dari dua teknologi—Microsoft Active Accessibility dan Microsoft UI Automation. Microsoft Active Accessibility adalah teknologi aksesibilitas warisan yang diperkenalkan sebagai add-in platform untuk Windows 95, sementara UI Automation adalah teknologi yang lebih baru dan lebih mampu yang mengatasi batasan yang melekat pada Aksesibilitas Aktif Microsoft.

Topik ini menyediakan ringkasan perbedaan utama antara Microsoft Active Accessibility dan UI Automation. Ini termasuk bagian berikut:

Prinsip Desain Dasar

Meskipun Microsoft Active Accessibility dan UI Automation adalah dua teknologi yang berbeda, prinsip desain dasarnya serupa. Tujuan dari kedua teknologi tersebut adalah untuk mengekspos informasi kaya tentang elemen UI yang digunakan dalam aplikasi Windows. Pengembang alat aksesibilitas dapat menggunakan informasi ini untuk membuat perangkat lunak yang membuat aplikasi yang berjalan di Windows lebih dapat diakses oleh penyandang disabilitas penglihatan, pendengaran, atau gerakan.

Microsoft Active Accessibility dan UI Automation mengekspos model objek UI sebagai pohon hierarkis, yang berakar di desktop. Microsoft Active Accessibility mewakili elemen UI individual sebagai objek yang dapat diakses, dan Automasi UI mewakilinya sebagai elemen otomatisasi. Keduanya merujuk ke alat aksesibilitas atau program otomatisasi perangkat lunak sebagai klien. Namun, Microsoft Active Accessibility mengacu pada aplikasi atau kontrol yang menawarkan UI untuk aksesibilitas sebagai server, sementara Automasi UI mengacu pada ini sebagai penyedia.

Properti dan Pola Kontrol

Microsoft Active Accessibility menawarkan satu antarmuka Model Objek Komponen (COM) dengan sekumpulan properti tetap dan kecil. Automasi UI menawarkan serangkaian properti yang lebih kaya, serta sekumpulan antarmuka yang diperluas yang disebut pola kontrol untuk memanipulasi objek yang dapat diakses dengan cara yang tidak dapat diakses Microsoft Active Accessibility.

Untuk informasi selengkapnya, lihat Gambaran Umum Properti Automasi UI dan Gambaran Umum Pola Kontrol Automasi UI.

Peran MSAA dan Pola Kontrol Otomatisasi UI

Microsoft merancang model objek Aksesibilitas Aktif Microsoft pada waktu yang hampir bersamaan dengan Windows 95 dirilis. Model ini didasarkan pada "peran" yang ditentukan satu dekade yang lalu, dan Anda tidak dapat mendukung perilaku UI baru atau menggabungkan dua peran atau lebih bersama-sama. Tidak ada model objek teks, misalnya, untuk membantu teknologi bantuan menangani konten web yang kompleks. Automasi UI mengatasi batasan ini dengan memperkenalkan pola kontrol yang memungkinkan objek mendukung lebih dari satu peran, dan pola kontrol Teks Automasi UI menawarkan model objek teks lengkap.

Navigasi Model Objek

Batasan lain dari Microsoft Active Accessibility melibatkan navigasi model objek. Microsoft Active Accessibility mewakili UI sebagai hierarki objek yang dapat diakses. Klien menavigasi dari satu objek yang dapat diakses ke objek lain menggunakan antarmuka dan metode yang tersedia dari objek yang dapat diakses. Server dapat mengekspos turunan objek yang dapat diakses dengan properti antarmuka IAccessible, atau dengan antarmuka IEnumVARIANT COM standar. Namun, klien harus dapat menangani kedua pendekatan untuk server apa pun. Ambiguitas ini berarti pekerjaan ekstra untuk pelaksana klien, dan model objek yang dapat diakses rusak untuk pelaksana server.

Automasi UI mewakili UI sebagai pohon hierarkis elemen otomatisasi, dan menyediakan satu antarmuka untuk menavigasi pohon. Klien dapat menyesuaikan tampilan elemen di pohon dengan mencakup dan memfilter.

Ekstensibilitas Model Objek

Properti dan fungsi Aksesibilitas Aktif Microsoft tidak dapat diperluas tanpa merusak atau mengubah spesifikasi antarmuka IAccessible COM. Hasilnya adalah bahwa perilaku kontrol baru tidak dapat diekspos melalui model objek; cenderung statis.

Dengan Automasi UI, saat elemen UI baru dibuat, pengembang aplikasi dapat memperkenalkan properti kustom, pola kontrol, dan peristiwa untuk menggambarkan elemen baru. Untuk informasi selengkapnya, lihat Properti Kustom, Peristiwa, dan Pola Kontrol.

Transisi dari MSAA

Kerangka kerja WINDOWS Automation API menyediakan dukungan untuk transisi dari server Microsoft Active Accessibility ke penyedia Automation UI. Antarmuka IAccessibleEx memungkinkan dukungan untuk properti Automation UI tertentu dan pola kontrol untuk ditambahkan ke server Aksesibilitas Aktif Microsoft warisan tanpa perlu menulis ulang seluruh implementasi. Antarmuka IAccessibleEx juga memungkinkan klien Microsoft Active Accessibility dalam proses mengakses antarmuka penyedia Automation UI secara langsung, bukan melalui antarmuka klien Automation UI. Untuk informasi selengkapnya, lihat Antarmuka IAccessibleEx.

Memilih Microsoft Active Accessibility, UI Automation, atau IAccessibleEx

Bagian ini membantu Anda menentukan solusi Windows Automation API mana yang akan digunakan untuk mengimplementasikan produk teknologi bantuan atau membuat aplikasi Anda dapat diakses oleh produk teknologi bantuan.

Aplikasi dan Kontrol Baru

Jika Anda mengembangkan aplikasi atau kontrol baru, Microsoft merekomendasikan penggunaan Automation UI. Meskipun Aksesibilitas Aktif Microsoft dapat lebih mudah diterapkan dalam jangka pendek, batasan yang melekat dalam teknologi ini, seperti model objek yang menua dan ketidakmampuan untuk mendukung perilaku UI baru atau menggabungkan peran, membuatnya lebih sulit dan mahal selama jangka panjang. Batasan ini menjadi sangat jelas ketika memperkenalkan kontrol baru.

Model objek Automation UI lebih mudah digunakan dan lebih fleksibel daripada Microsoft Active Accessibility. Elemen otomatisasi UI mencerminkan evolusi antarmuka pengguna, dan pengembang dapat menentukan pola kontrol, properti, dan peristiwa Otomasi UI kustom.

Aksesibilitas Aktif Microsoft cenderung berjalan lambat untuk klien yang kehabisan proses. Untuk meningkatkan performa, pengembang program alat aksesibilitas sering memilih untuk menghubungkan dan menjalankan program mereka dalam proses aplikasi target: pendekatan yang sangat sulit dan berisiko. Automasi UI jauh lebih mudah diterapkan untuk klien yang tidak diproses, dan menawarkan performa dan keandalan yang jauh lebih baik.

Implementasi Aksesibilitas Aktif Microsoft yang Ada

Jika Anda memperbarui aplikasi atau kontrol yang ada yang didasarkan pada Microsoft Active Accessibility, pertimbangkan untuk menambahkan dukungan untuk Automasi UI dengan menerapkan antarmuka IAccessibleEx. Pertama, pastikan bahwa aplikasi atau kontrol Anda memenuhi persyaratan berikut:

  • Hierarki objek yang dapat diakses server Aksesibilitas Aktif Microsoft garis besar harus diatur dengan baik dan bebas kesalahan. IAccessibleEx tidak dapat memperbaiki masalah dengan hierarki objek yang dapat diakses yang ada.
  • Implementasi IAccessibleEx Anda harus mematuhi spesifikasi Aksesibilitas Aktif Microsoft, dan Spesifikasi Otomatisasi UI. Microsoft menyediakan serangkaian alat untuk memvalidasi kepatuhan dengan kedua spesifikasi. Untuk informasi selengkapnya, lihat Menguji aksesibilitas.

Jika salah satu persyaratan ini tidak terpenuhi, pertimbangkan untuk menerapkan Automation UI secara asli. Anda dapat menyimpan implementasi server Aksesibilitas Aktif Microsoft warisan untuk kompatibilitas mundur jika diperlukan. Dari perspektif klien Automation UI, tidak ada perbedaan antara penyedia Automation UI dan server Aksesibilitas Aktif Microsoft yang mengimplementasikan IAccessibleEx dengan benar.

Untuk informasi selengkapnya, lihat Antarmuka IAccessibleEx.

Gambaran Umum WINDOWS Automation API

Aksesibilitas Aktif Microsoft

Otomatisasi UI

Antarmuka IAccessibleEx