Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Topik ini memperkenalkan konsep dan teknologi yang terkait dengan membangun aplikasi Windows yang dapat diakses.
Aplikasi Windows yang dapat diakses tidak hanya mendukung penyandang disabilitas (baik sementara maupun permanen) tetapi juga yang memiliki preferensi pribadi, gaya kerja tertentu, atau batasan situasional dan lingkungan (seperti ruang kerja bersama, bandwidth rendah, sinar matahari cerah, lingkungan yang berisik atau tenang, saat memasak, dan sebagainya).
Panduan ini ditulis untuk tim pengembangan yang memperlakukan aksesibilitas sebagai persyaratan kualitas inti dan menggunakan pemeriksaan aksesibilitas otomatis sebagai bagian dari alur kerja rekayasa reguler. Gunakan topik ini untuk menentukan ekspektasi aksesibilitas lebih awal, memvalidasinya terus menerus, dan mencegah regresi seiring berkembangnya fitur.
Banyak disabilitas, termasuk gangguan mobilitas, penglihatan, persepsi warna, pendengaran, ucapan, kognisi, dan literasi, dapat ditangani dengan menyediakan:
- Dukungan untuk interaksi keyboard dan pembaca layar.
- Dukungan untuk kustomisasi pengguna, seperti font, pengaturan zoom (pembesaran), warna, dan pengaturan kontras tinggi.
- UI alternatif atau tambahan.
Kontrol XAML menyediakan dukungan bawaan untuk akses keyboard dan teknologi bantuan seperti pembaca layar. Dukungan bawaan ini memungkinkan tingkat aksesibilitas dasar yang dapat Anda sesuaikan melalui berbagai properti. Jika Anda membuat komponen dan kontrol XAML kustom Anda sendiri, Anda juga dapat menambahkan dukungan serupa ke kontrol tersebut dengan menggunakan *peer otomatisasi (untuk informasi selengkapnya, lihat Peer otomatisasi kustom).
Selain itu, fitur pengikatan data, gaya, dan templat memungkinkan Anda mendukung UI alternatif secara dinamis dan perubahan pada pengaturan tampilan.
UI Automation
Dukungan aksesibilitas terutama berasal dari integrasi kerangka kerja Microsoft UI Automation. Dukungan tersebut diberikan melalui kelas dasar dan perilaku bawaan implementasi kelas untuk jenis kontrol, serta representasi antarmuka api penyedia UI Automation. Setiap kelas kontrol menggunakan konsep rekan otomatisasi dan pola otomasi UI Automation yang melaporkan peran serta isi kontrol kepada klien UI Automation. Aplikasi ini diperlakukan sebagai jendela tingkat atas berdasarkan UI Automation, dan melalui kerangka kerja UI Automation semua konten yang relevan dengan aksesibilitas dalam jendela aplikasi tersebut tersedia untuk klien UI Automation. Untuk informasi selengkapnya tentang UI Automation, lihat Gambaran Umum UI Automation.
Teknologi bantuan
Banyak kebutuhan aksesibilitas terpenuhi oleh produk teknologi bantuan yang diinstal oleh pengguna atau oleh alat dan pengaturan yang disediakan oleh sistem operasi. Ini termasuk pembaca layar, kaca pembesar layar, dan pengaturan kontras tinggi.
Produk teknologi bantuan mencakup berbagai perangkat lunak dan perangkat keras. Produk-produk ini bekerja melalui antarmuka keyboard standar dan kerangka kerja aksesibilitas yang melaporkan informasi tentang konten dan struktur UI kepada pembaca layar dan teknologi bantuan lainnya. Contoh produk teknologi bantuan meliputi:
- Keyboard Layar (OSK), atau keyboard perangkat lunak, yang memungkinkan orang menggunakan penunjuk alih-alih keyboard perangkat keras untuk mengetik teks.
- Perangkat lunak pengenalan suara, yang mengonversi kata-kata lisan menjadi teks yang diketik.
- Pembaca layar, yang mengonversi teks menjadi kata atau format lisan seperti Braille.
- Pembaca layar Narator, yang disertakan dalam Windows, memiliki mode sentuh yang dapat melakukan tugas membaca layar melalui gerakan sentuh.
- Program atau pengaturan yang menyesuaikan tampilan, misalnya tema kontras tinggi, titik per inci (dpi), atau alat Pembesar.
Aplikasi yang memiliki dukungan keyboard dan pembaca layar yang baik biasanya bekerja dengan baik dengan berbagai produk teknologi bantuan. Dalam banyak kasus, aplikasi Windows berfungsi dengan produk-produk ini tanpa modifikasi informasi atau struktur tambahan. Namun, Anda mungkin ingin memodifikasi beberapa pengaturan untuk pengalaman aksesibilitas yang optimal atau menerapkan dukungan tambahan.
Lihat Pengujian aksesibilitas tentang cara menguji skenario aksesibilitas dasar dengan teknologi bantuan.
Dukungan pembaca layar dan informasi aksesibilitas dasar
Pembaca layar menyediakan akses ke teks yang disertakan dalam aplikasi dengan merendernya dalam format lain, seperti bahasa lisan atau output Braille. Perilaku yang tepat dari pembaca layar tergantung pada perangkat lunak bagaimana pengguna mengonfigurasinya.
Misalnya, beberapa pembaca layar membaca seluruh UI saat pengguna memulai atau beralih ke aplikasi, yang memungkinkan pengguna untuk menerima semua konten informasi sebelum mencoba menavigasinya. Beberapa pembaca layar juga membaca teks yang terkait dengan kontrol individual saat menerima fokus selama navigasi tab. Ini memungkinkan pengguna untuk mengorientasikan diri mereka saat mereka menavigasi di antara kontrol input aplikasi. Narator adalah contoh pembaca layar yang mendukung kedua perilaku tersebut.
Informasi terpenting yang dibutuhkan pembaca layar atau teknologi bantuan lainnya untuk membantu pengguna memahami atau menavigasi aplikasi adalah nama yang dapat diakses untuk setiap elemen dalam aplikasi. Dalam banyak kasus, kontrol atau elemen sudah memiliki nama yang dapat diakses yang berasal dari nilai properti lain, seperti elemen yang mendukung dan menampilkan teks dalam. Untuk elemen lain, Anda mungkin perlu memberikan nama yang dapat diakses melalui struktur elemen. Dan terkadang Anda perlu secara eksplisit memberikan nama yang dapat diakses. Untuk detail selengkapnya tentang cara kerja nilai turunan ini dalam elemen UI umum, dan untuk informasi selengkapnya tentang nama yang dapat diakses secara umum, lihat Mengekspos informasi aksesibilitas dasar.
Ada beberapa properti otomatisasi lain yang tersedia (termasuk properti keyboard yang dijelaskan di bagian berikutnya). Namun, tidak semua pembaca layar mendukung semua properti otomatisasi, jadi Anda harus menguji semua properti otomatisasi yang sesuai dengan berbagai pembaca layar.
Dukungan keyboard
Membangun aksesibilitas keyboard (untuk perangkat keras tradisional, perangkat keras yang dimodifikasi, atau emulasi keyboard) ke dalam aplikasi Anda, membantu pengguna tunanetra, dengan penglihatan rendah, atau masalah kontrol motorik, untuk menavigasi dan memanfaatkan seluruh fungsionalitas aplikasi Anda. Ini juga memungkinkan pengguna tanpa disabilitas memilih keyboard untuk navigasi karena preferensi atau efisiensi.
Model kontrol XAML dasar menyediakan dukungan keyboard bawaan termasuk navigasi tab, input teks, dan dukungan khusus kontrol. Elemen yang berfungsi sebagai kontainer tata letak (seperti panel) menggunakan urutan tata letak untuk membuat urutan tab default dan memberikan representasi UI yang dapat diakses. Kontrol ListView dan GridView menyediakan navigasi tombol panah bawaan. Kontrol tombol menangani Bilah Spasi atau Tombol Enter untuk aktivasi tombol.
Untuk informasi selengkapnya tentang semua aspek dukungan keyboard, termasuk urutan tab dan aktivasi atau navigasi berbasis kunci, lihat Aksesibilitas keyboard.
Media dan keterangan
Anda biasanya menampilkan media audio-visual melalui objek MediaPlayerElement . Untuk tujuan aksesibilitas, berikan kontrol yang memungkinkan pengguna untuk memutar, menjeda, dan menghentikan media, dan juga menyertakan keterangan atau trek audio alternatif.
Teks yang dapat diakses
Saat Anda merancang dan mengimplementasikan teks di aplikasi, fokuslah pada tiga persyaratan aksesibilitas inti ini.
- Teknologi bantuan harus dapat menentukan apakah teks harus dibaca selama navigasi urutan tab atau sebagai bagian dari konten dokumen keseluruhan. Anda dapat memengaruhi perilaku ini dengan memilih elemen teks yang benar dan mengatur propertinya dengan tepat. Karena setiap elemen teks dipetakan ke tujuan tertentu dan sering kali ke peran UI Automation yang sesuai, penggunaan elemen yang salah dapat memaparkan peran yang keliru dan menciptakan pengalaman yang membingungkan bagi pengguna teknologi bantu.
- Banyak pengguna memiliki kekurangan penglihatan rendah atau penglihatan warna dan tidak dapat membaca teks dengan andal kecuali ada cukup kontras antara teks dan latar belakang. Dampak ini dapat mudah disepelekan selama desain. Mengikuti panduan kontras yang ditetapkan membantu mencegah teks yang tidak dapat dibaca untuk pengguna ini. Untuk informasi selengkapnya, lihat Persyaratan teks yang dapat diakses.
- Teks yang terlalu kecil sulit dibaca banyak pengguna. Mulailah dengan ukuran teks default yang wajar, dan pastikan aplikasi Anda berfungsi dengan benar dengan teks sistem dan penskalaan tampilan. Ini sangat penting dalam UI yang berisi sejumlah besar teks atau tata letak visual padat.
Mendukung tema kontras tinggi
Kontrol XAML mendapatkan tampilan visual mereka dari kamus sumber daya tema, termasuk sumber daya tema kontras tinggi. Saat pengguna mengaktifkan mode kontras tinggi, kontrol akan otomatis menyesuaikan ke sumber kontras tinggi yang sesuai. Untuk mempertahankan perilaku ini, hindari pendekatan gaya yang memblokir pencarian sumber daya tema, seperti warna yang dikodekan secara permanen atau gaya eksplisit yang mencegah nilai tema kontras tinggi mengesampingkan nilai kustom Anda. Untuk informasi selengkapnya, lihat Tema kontras tinggi.
Desain untuk UI alternatif
Dalam banyak kasus, Anda dapat menyampaikan informasi penting secara lebih efektif dengan menggunakan berbagai petunjuk. Misalnya, gabungkan ikon dengan warna untuk mendukung pengguna yang buta warna atau keterbatasan penglihatan warna, dan memasangkan peringatan visual dengan suara untuk mendukung pengguna yang tuli atau kurang pendengaran.
Jika diperlukan, berikan UI alternatif yang dapat diakses yang menghapus visual dan animasi yang tidak penting dan menyederhanakan alur interaksi. Contoh kode berikut menunjukkan cara mengalihkan satu UserControl untuk yang lain berdasarkan pengaturan pengguna.
<StackPanel x:Name="LayoutRoot" Background="White">
<CheckBox x:Name="ShowAccessibleUICheckBox" Click="ShowAccessibleUICheckBox_Click">
Show Accessible UI
</CheckBox>
<ContentControl x:Name="ContentBlock">
<local:ContentPage/>
</ContentControl>
</StackPanel>
private void ShowAccessibleUICheckBox_Click(object sender, RoutedEventArgs e)
{
if (sender is CheckBox checkBox)
{
ContentBlock.Content = checkBox.IsChecked == true
? new AccessibleContentPage()
: new ContentPage();
}
}
Dukungan teknologi bantuan dalam kontrol kustom
Saat Anda membuat kontrol kustom, terapkan atau perluas satu atau beberapa subkelas AutomationPeer untuk memberikan dukungan aksesibilitas. Dalam beberapa kasus, menggunakan kembali kelas pasangan yang sama seperti kontrol dasar dapat memberikan perilaku otomatisasi dasar yang dapat diterima untuk kontrol turunan Anda. Namun, Anda harus memvalidasi ini melalui pengujian, dan dalam banyak kasus Anda masih harus menerapkan peer khusus agar dapat melaporkan nama kelas dan perilaku yang benar untuk kontrol khusus Anda. Untuk panduan implementasi, lihat Rekan otomatisasi khusus.
Dukungan teknologi bantuan dalam aplikasi yang mendukung interop XAML / Microsoft DirectX
Secara default, Microsoft konten DirectX yang dihosting di UI XAML (menggunakan SwapChainPanel atau SurfaceImageSource) tidak dapat diakses. Sampel interop XAML SwapChainPanel DirectX (sampel warisan yang diarsipkan) menunjukkan cara membuat konten yang dihosting dapat diakses melalui UI Automation dengan membuat AutomationPeer untuk konten DirectX. Teknik ini membuat konten yang dihosting dapat diakses melalui UI Automation.
Verifikasi dan penerbitan
Perlakukan verifikasi aksesibilitas sebagai aktivitas rekayasa yang sedang berlangsung, bukan lulus QA akhir. Jalankan pemeriksaan otomatis untuk setiap build jika memungkinkan, dan dibarengi dengan validasi teknologi bantuan manual yang ditargetkan untuk alur pengguna yang krusial.
Untuk informasi selengkapnya tentang deklarasi aksesibilitas dan penerbitan aplikasi Anda, lihat Aksesibilitas di Toko.
Contoh
Buka aplikasi Galeri WinUI 3 dan lihat prinsip Aksesibilitas berikut ini dalam tindakan:
- Dukungan Pembaca Layar
- Dukungan Keyboard
- Kontras Warna
![]()
Aplikasi Galeri WinUI 3 mencakup contoh interaktif kontrol dan fitur WinUI. Dapatkan aplikasi dari Microsoft Store atau telusuri kode sumber pada GitHub.
Topik terkait
- Microsoft. UI. Xaml.Automation
- Microsoft. UI. Xaml.Automation
- Sampel aksesibilitas XAML (sampel warisan yang diarsipkan)
- Gambaran umum aksesibilitas
- Mulai dengan Narator
Windows developer