Bagikan melalui


Membangun aplikasi yang dapat diakses dengan properti semantik

Semantik untuk aksesibilitas berkaitan dengan pengalaman membangun yang membuat aplikasi Anda inklusif bagi orang-orang yang menggunakan teknologi di berbagai lingkungan dan mendekati UI Anda dengan berbagai kebutuhan dan pengalaman. Dalam banyak situasi, persyaratan hukum untuk aksesibilitas dapat memberikan impetus bagi pengembang untuk mengatasi masalah aksesibilitas. Terlepas dari itu, disarankan untuk membangun aplikasi inklusif dan dapat diakses sehingga aplikasi Anda menjangkau audiens terbesar yang mungkin.

Panduan Aksesibilitas Konten Web (WCAG) adalah standar aksesibilitas global dan tolok ukur hukum untuk web dan seluler. Panduan ini menjelaskan berbagai cara di mana aplikasi dapat dibuat lebih dapat dirasakan, dapat dioperasikan, dimengerti, dan kuat, untuk semua.

Banyak kebutuhan aksesibilitas pengguna terpenuhi oleh produk teknologi bantuan yang diinstal oleh pengguna atau oleh alat dan pengaturan yang disediakan oleh sistem operasi. Ini termasuk fungsionalitas seperti pembaca layar, pembesaran layar, dan pengaturan kontras tinggi.

Pembaca layar biasanya memberikan deskripsi auditori kontrol yang ditampilkan di layar. Deskripsi ini membantu pengguna menavigasi melalui aplikasi dan memberikan referensi ke kontrol, seperti gambar, yang tidak memiliki input atau teks. Pembaca layar sering dikontrol melalui gerakan pada layar sentuh, trackpad, atau keyboard. Untuk informasi tentang mengaktifkan pembaca layar, lihat Mengaktifkan pembaca layar.

Sistem operasi memiliki pembaca layar mereka sendiri dengan perilaku dan konfigurasi unik mereka sendiri. Misalnya, sebagian besar pembaca layar membaca teks yang terkait dengan kontrol saat menerima fokus, memungkinkan pengguna untuk mengorientasikan diri mereka saat mereka menavigasi melalui aplikasi. Namun, beberapa pembaca layar juga dapat membaca seluruh antarmuka pengguna aplikasi saat halaman muncul, yang memungkinkan pengguna untuk menerima semua konten informasi halaman yang tersedia sebelum mencoba menavigasinya.

Kebanyakan pembaca layar akan otomatis membaca teks apa pun yang terkait dengan kontrol yang menerima fokus aksesibilitas. Ini berarti bahwa kontrol, seperti Label atau Button, yang memiliki Text kumpulan properti akan dapat diakses oleh pengguna. Namun, Image, ImageButton, ActivityIndicator, dan lainnya mungkin tidak berada di pohon aksesibilitas karena tidak ada teks yang terkait dengannya.

.NET Multi-platform App UI (.NET MAUI) mendukung dua pendekatan untuk menyediakan akses ke pengalaman aksesibilitas platform yang mendasarinya. Properti semantik adalah pendekatan .NET MAUI untuk menyediakan nilai aksesibilitas dalam aplikasi, dan merupakan pendekatan yang direkomendasikan. Properti automasi adalah pendekatan Xamarin.Forms untuk menyediakan nilai aksesibilitas dalam aplikasi, dan telah digantikan oleh properti semantik. Dalam kedua kasus, urutan aksesibilitas default kontrol adalah urutan yang sama di mana mereka tercantum di XAML atau ditambahkan ke tata letak. Namun, tata letak yang berbeda mungkin memiliki faktor tambahan yang memengaruhi urutan aksesibilitas. Misalnya, urutan StackLayout aksesibilitas juga didasarkan pada orientasinya, dan urutan Grid aksesibilitas didasarkan pada susunan baris dan kolomnya. Untuk informasi selengkapnya tentang pengurutan konten, lihat Pengurutan Konten yang Bermakna di blog Xamarin.

Catatan

WebView Saat menampilkan situs web yang dapat diakses, situs web juga akan dapat diakses di aplikasi .NET MAUI. Sebaliknya, ketika WebView menampilkan situs web yang tidak dapat diakses, situs web tersebut tidak akan dapat diakses di aplikasi .NET MAUI.

Properti semantik

Properti semantik digunakan untuk menentukan informasi tentang kontrol mana yang harus menerima fokus aksesibilitas dan teks mana yang harus dibaca dengan keras kepada pengguna. Properti semantik adalah properti terlampir yang dapat ditambahkan ke elemen apa pun untuk mengatur API aksesibilitas platform yang mendasar.

Penting

Properti semantik tidak mencoba memaksa perilaku yang setara di setiap platform. Sebaliknya, mereka mengandalkan pengalaman aksesibilitas yang disediakan oleh setiap platform.

Kelas SemanticProperties menentukan properti terlampir berikut:

  • Description, dari jenis string, yang mewakili deskripsi yang akan dibaca dengan keras oleh pembaca layar. Untuk informasi selengkapnya, lihat Deskripsi.
  • Hint, dari jenis string, yang mirip Descriptiondengan , tetapi menyediakan konteks tambahan seperti tujuan kontrol. Untuk informasi selengkapnya, lihat Petunjuk.
  • HeadingLevel, dari jenis SemanticHeadingLevel, yang memungkinkan elemen ditandai sebagai judul untuk mengatur UI dan membuatnya lebih mudah untuk menavigasi. Untuk informasi selengkapnya, lihat Tingkat judul.

Properti terlampir ini mengatur nilai aksesibilitas platform sehingga pembaca layar dapat berbicara tentang elemen . Untuk informasi selengkapnya tentang properti terlampir, lihat Properti terlampir.

Deskripsi

Properti Description terlampir mewakili pendek, deskriptif string yang digunakan pembaca layar untuk mengumumkan elemen. Properti ini harus diatur untuk elemen yang memiliki arti yang penting untuk memahami konten atau berinteraksi dengan antarmuka pengguna. Pengaturan properti ini dapat dicapai di XAML:

<Image Source="dotnet_bot.png"
       SemanticProperties.Description="Cute dot net bot waving hi to you!" />

Atau, dapat diatur dalam C#:

Image image = new Image { Source = "dotnet_bot.png" };
SemanticProperties.SetDescription(image, "Cute dot net bot waving hi to you!");

Selain itu, metode ini SetValue juga dapat digunakan untuk mengatur Description properti terlampir:

image.SetValue(SemanticProperties.DescriptionProperty, "Cute dot net bot waving hi to you!");

Informasi aksesibilitas untuk elemen juga dapat didefinisikan pada elemen lain. Misalnya, di Label samping dapat Switch digunakan untuk menjelaskan apa yang diwakili Switch . Ini dapat dicapai dalam XAML sebagai berikut:

<Label x:Name="label"
       Text="Enable dark mode: " />
<Switch SemanticProperties.Description="{Binding Source={x:Reference label} Path=Text}" />

Atau, dapat diatur dalam C# sebagai berikut:

Label label = new Label
{
    Text = "Enable dark mode: "
};
Switch mySwitch = new Switch();
SemanticProperties.SetDescription(mySwitch, label.Text);

Peringatan

  • Hindari mengatur Description properti terlampir pada Label. Ini akan menghentikan properti yang Text diucapkan oleh pembaca layar. Ini karena teks visual idealnya harus cocok dengan teks yang dibacakan oleh pembaca layar.
  • Hindari mengatur Description properti terlampir pada atau EditorEntry di Android. Melakukannya akan menghentikan tindakan Talkback yang berfungsi. Sebagai gantinya Placeholder , gunakan properti atau Hint properti terlampir.
  • Di iOS, jika Anda mengatur Description properti pada kontrol apa pun yang memiliki anak-anak, pembaca layar tidak akan dapat menjangkau anak-anak. Ini karena iOS tidak menyediakan fitur aksesibilitas yang memungkinkan navigasi dari elemen induk ke dalam elemen turunan.

Petunjuk

Properti Hint terlampir mewakili string yang menyediakan konteks tambahan ke Description properti terlampir, seperti tujuan kontrol. Pengaturan properti ini dapat dicapai di XAML:

<Image Source="like.png"
       SemanticProperties.Description="Like"
       SemanticProperties.Hint="Like this post." />

Atau, dapat diatur dalam C#:

Image image = new Image { Source = "like.png" };
SemanticProperties.SetDescription(image, "Like");
SemanticProperties.SetHint(image, "Like this post.");

Selain itu, metode ini SetValue juga dapat digunakan untuk mengatur Hint properti terlampir:

image.SetValue(SemanticProperties.HintProperty, "Like this post.");

Di Android, properti ini berulah sedikit berbeda tergantung pada kontrol yang dilampirkan. Misalnya, untuk kontrol tanpa nilai teks, seperti Switch dan CheckBox, kontrol akan menampilkan petunjuk dengan kontrol. Namun, untuk kontrol dengan nilai teks, petunjuk tidak ditampilkan dan dibaca setelah nilai teks.

Peringatan

Properti Hint berkonflik dengan Entry.Placeholder properti di Android, yang keduanya memetakan ke properti platform yang sama. Oleh karena itu, mengatur nilai yang berbeda Hint ke Entry.Placeholder nilai tidak disarankan.

Tingkat judul

Properti HeadingLevel terlampir memungkinkan elemen ditandai sebagai judul untuk mengatur UI dan mempermudah navigasi. Beberapa pembaca layar memungkinkan pengguna untuk melompat di antara judul dengan cepat.

Judul memiliki tingkat dari 1 hingga 9, dan diwakili oleh SemanticHeadingLevel enumerasi, yang mendefinisikan None, dan Level1 melalui Level9 anggota.

Penting

Sementara Windows menawarkan 9 tingkat judul, Android dan iOS hanya menawarkan satu judul. Oleh karena itu, ketika HeadingLevel diatur pada Windows, ia memetakan ke tingkat judul yang benar. Namun, ketika diatur di Android dan iOS, ia memetakan ke satu tingkat judul.

Contoh berikut menunjukkan pengaturan properti terlampir ini:

<Label Text="Get started with .NET MAUI"
       SemanticProperties.HeadingLevel="Level1" />
<Label Text="Paragraphs of text go here." />
<Label Text="Installation"
       SemanticProperties.HeadingLevel="Level2" />
<Label Text="Paragraphs of text go here." />    
<Label Text="Build your first app"
       SemanticProperties.HeadingLevel="Level3" />
<Label Text="Paragraphs of text go here." />     
<Label Text="Publish your app"
       SemanticProperties.HeadingLevel="Level4" />
<Label Text="Paragraphs of text go here." />   

Atau, dapat diatur dalam C#:

Label label1 = new Label { Text = "Get started with .NET MAUI" };
Label label2 = new Label { Text = "Paragraphs of text go here." };
Label label3 = new Label { Text = "Installation" };
Label label4 = new Label { Text = "Paragraphs of text go here." };
Label label5 = new Label { Text = "Build your first app" };
Label label6 = new Label { Text = "Paragraphs of text go here." };
Label label7 = new Label { Text = "Publish your app" };
Label label8 = new Label { Text = "Paragraphs of text go here." };
SemanticProperties.SetHeadingLevel(label1, SemanticHeadingLevel.Level1);
SemanticProperties.SetHeadingLevel(label3, SemanticHeadingLevel.Level1);
SemanticProperties.SetHeadingLevel(label5, SemanticHeadingLevel.Level1);
SemanticProperties.SetHeadingLevel(label7, SemanticHeadingLevel.Level1);

Selain itu, metode ini SetValue juga dapat digunakan untuk mengatur HeadingLevel properti terlampir:

label1.SetValue(SemanticProperties.HeadingLevelProperty, SemanticHeadingLevel.Level1);

Fokus semantik

Kontrol memiliki SetSemanticFocus metode ekstensi yang memaksa pembaca layar fokus ke elemen tertentu. Misalnya, mengingat Label fokus pembaca layar bernama label, dapat dipaksa ke elemen dengan kode berikut:

label.SetSemanticFocus();

Pembaca layar semantik

.NET MAUI menyediakan antarmuka, yang dengannya ISemanticScreenReader Anda dapat menginstruksikan pembaca layar untuk mengumumkan teks kepada pengguna. Antarmuka diekspos melalui Default properti, dan tersedia di Microsoft.Maui.Accessibility namespace layanan.

Untuk menginstruksikan pembaca layar untuk mengumumkan teks, gunakan Announce metode , meneruskan string argumen yang mewakili teks. Contoh berikut menunjukkan penggunaan metode ini:

SemanticScreenReader.Default.Announce("This is the announcement text.");

Batasan

Pembaca layar platform default harus diaktifkan agar teks dibaca dengan keras.

Properti otomatisasi

Properti automasi adalah properti terlampir yang dapat ditambahkan ke elemen apa pun untuk menunjukkan bagaimana elemen dilaporkan ke kerangka kerja aksesibilitas platform yang mendasar.

Kelas AutomationProperties menentukan properti terlampir berikut:

  • ExcludedWithChildren, dari jenis bool?, menentukan apakah elemen dan turunannya harus dikecualikan dari pohon aksesibilitas. Untuk informasi selengkapnya, lihat ExcludedWithChildren.
  • IsInAccessibleTree, dari jenis bool?, menunjukkan apakah elemen tersedia di pohon aksesibilitas. Untuk informasi selengkapnya, lihat IsInAccessibleTree.
  • Name, dari jenis string, mewakili deskripsi singkat dari elemen yang berfungsi sebagai pengidentifikasi yang dapat diucapkan untuk elemen tersebut. Untuk informasi selengkapnya, lihat Nama.
  • HelpText, dari jenis string, mewakili deskripsi elemen yang lebih panjang, yang dapat dianggap sebagai teks tipsalat yang terkait dengan elemen . Untuk informasi selengkapnya, lihat HelpText.
  • LabeledBy, dari jenis VisualElement, yang memungkinkan elemen lain untuk menentukan informasi aksesibilitas untuk elemen saat ini. Untuk informasi selengkapnya, lihat LabeledBy.

Properti terlampir ini mengatur nilai aksesibilitas platform sehingga pembaca layar dapat berbicara tentang elemen . Untuk informasi selengkapnya tentang properti terlampir, lihat Properti terlampir.

Pembaca layar yang berbeda membaca nilai aksesibilitas yang berbeda. Oleh karena itu, saat menggunakan properti otomatisasi, disarankan agar pengujian aksesibilitas menyeluruh dilakukan pada setiap platform untuk memastikan pengalaman yang optimal.

Penting

Properti automasi adalah pendekatan Xamarin.Forms untuk menyediakan nilai aksesibilitas dalam aplikasi, dan telah digantikan oleh properti semantik. Untuk informasi selengkapnya tentang properti semantik, lihat Properti semantik.

DikecualikanWithChildren

Properti ExcludedWithChildren terlampir, dari jenis bool?, menentukan apakah elemen dan turunannya harus dikecualikan dari pohon aksesibilitas. Ini memungkinkan skenario seperti menampilkan tata letak lain AbsoluteLayout seperti StackLayout, dengan StackLayout yang dikecualikan dari pohon aksesibilitas saat tidak terlihat. Ini dapat digunakan dari XAML sebagai berikut:

<StackLayout AutomationProperties.ExcludedWithChildren="true">
...
</StackLayout>

Atau, dapat diatur dalam C# sebagai berikut:

StackLayout stackLayout = new StackLayout();
...
AutomationProperties.SetExcludedWithChildren(stackLayout, true);

Ketika properti terlampir ini diatur, .NET MAUI mengatur IsInAccessibleTree properti terlampir ke false pada elemen yang ditentukan dan turunannya.

IsInAccessibleTree

Peringatan

Properti terlampir ini biasanya harus tetap tidak diatur. Sebagian besar kontrol harus ada di pohon aksesibilitas, dan AutomationProperties.ExcludedWithChildren properti terlampir dapat diatur dalam skenario di mana elemen dan anak-anaknya perlu dihapus dari pohon aksesibilitas.

Properti IsInAccessibleTree terlampir, dari jenis bool?, menentukan apakah elemen terlihat oleh pembaca layar. Ini harus diatur ke true untuk menggunakan properti otomatisasi lainnya. Ini dapat dicapai dalam XAML sebagai berikut:

<Entry AutomationProperties.IsInAccessibleTree="true" />

Atau, dapat diatur dalam C# sebagai berikut:

Entry entry = new Entry();
AutomationProperties.SetIsInAccessibleTree(entry, true);

Peringatan

Di iOS, jika IsInAccessibleTree properti berada true di kontrol apa pun yang memiliki anak-anak, pembaca layar tidak akan dapat menjangkau anak-anak. Ini karena iOS tidak menyediakan fitur aksesibilitas yang memungkinkan navigasi dari elemen induk ke dalam elemen turunan.

Nama

Penting

Properti Name terlampir telah tidak digunakan lagi di .NET 8. Sebagai gantinya Description , gunakan properti terlampir.

Nilai Name properti terlampir harus berupa string teks deskriptif pendek yang digunakan pembaca layar untuk mengumumkan elemen. Properti ini harus diatur untuk elemen yang memiliki arti yang penting untuk memahami konten atau berinteraksi dengan antarmuka pengguna. Ini dapat dicapai dalam XAML sebagai berikut:

<ActivityIndicator AutomationProperties.IsInAccessibleTree="true"
                   AutomationProperties.Name="Progress indicator" />

Atau, dapat diatur dalam C# sebagai berikut:

ActivityIndicator activityIndicator = new ActivityIndicator();
AutomationProperties.SetIsInAccessibleTree(activityIndicator, true);
AutomationProperties.SetName(activityIndicator, "Progress indicator");

HelpText

Penting

Properti HelpText terlampir telah tidak digunakan lagi di .NET 8. Sebagai gantinya Hint , gunakan properti terlampir.

Properti HelpText terlampir harus diatur ke teks yang menjelaskan elemen antarmuka pengguna, dan dapat dianggap sebagai teks tipsalat yang terkait dengan elemen . Ini dapat dicapai dalam XAML sebagai berikut:

<Button Text="Toggle ActivityIndicator"
        AutomationProperties.IsInAccessibleTree="true"
        AutomationProperties.HelpText="Tap to toggle the activity indicator" />

Atau, dapat diatur dalam C# sebagai berikut:

Button button = new Button { Text = "Toggle ActivityIndicator" };
AutomationProperties.SetIsInAccessibleTree(button, true);
AutomationProperties.SetHelpText(button, "Tap to toggle the activity indicator");

Pada beberapa platform, untuk kontrol edit seperti Entry, HelpText properti terkadang dapat dihilangkan dan diganti dengan teks tempat penampung. Misalnya, "Masukkan nama Anda di sini" adalah kandidat yang baik untuk Entry.Placeholder properti yang menempatkan teks dalam kontrol sebelum input aktual pengguna.

LabeledBy

Penting

Properti LabeledBy terlampir telah tidak digunakan lagi di .NET 8. Sebagai gantinya, gunakan pengikatan SemanticProperties.Description . Untuk informasi selengkapnya, lihat SemanticProperties: Description.

Properti LabeledBy terlampir memungkinkan elemen lain untuk menentukan informasi aksesibilitas untuk elemen saat ini. Misalnya, di Label samping dapat Entry digunakan untuk menjelaskan apa yang diwakili Entry . Ini dapat dicapai dalam XAML sebagai berikut:

<Label x:Name="label" Text="Enter your name: " />
<Entry AutomationProperties.IsInAccessibleTree="true"
       AutomationProperties.LabeledBy="{x:Reference label}" />

Atau, dapat diatur dalam C# sebagai berikut:

Label label = new Label { Text = "Enter your name: " };
Entry entry = new Entry();
AutomationProperties.SetIsInAccessibleTree(entry, true);
AutomationProperties.SetLabeledBy(entry, label);

Penting

AutomationProperties.LabeledByProperty tidak didukung di iOS.

Menguji aksesibilitas

Aplikasi MAUI .NET biasanya menargetkan beberapa platform, yang berarti menguji fitur aksesibilitas sesuai dengan platform. Ikuti tautan ini untuk mempelajari cara menguji aksesibilitas di setiap platform:

Alat berikut dapat membantu pengujian aksesibilitas Anda:

  • Insight Aksesibilitas untuk aplikasi Android dan Windows.
  • Pemindai Aksesibilitas untuk aplikasi Android.
  • Pemeriksa Aksesibilitas untuk aplikasi iOS dan macOS.
  • Inspektur Tata Letak Android Studio untuk aplikasi Android.
  • Xcode Lihat Debugger untuk aplikasi iOS dan macOS.

Namun, tidak ada alat ini yang dapat meniru pengalaman pengguna pembaca layar dengan sempurna, dan cara terbaik untuk menguji dan memecahkan masalah aplikasi Anda untuk aksesibilitas akan selalu secara manual di perangkat fisik dengan pembaca layar.

Mengaktifkan pembaca layar

Setiap platform memiliki pembaca layar default yang berbeda untuk menceritakan nilai aksesibilitas:

  • Android memiliki TalkBack. Untuk informasi tentang mengaktifkan TalkBack, lihat Mengaktifkan TalkBack.
  • iOS dan macOS memiliki VoiceOver. Untuk informasi tentang mengaktifkan VoiceOver, lihat Mengaktifkan VoiceOver.
  • Windows memiliki Narator. Untuk informasi tentang mengaktifkan Narator, lihat Mengaktifkan Narator.

Aktifkan TalkBack

TalkBack adalah pembaca layar utama yang digunakan di Android. Cara mengaktifkannya tergantung pada produsen perangkat, versi Android, dan versi TalkBack. Namun, TalkBack biasanya dapat diaktifkan di perangkat Android Anda melalui pengaturan perangkat:

  1. Buka aplikasi Pengaturan.
  2. Pilih TalkBack Aksesibilitas>.
  3. Aktifkan Gunakan TalkBack .
  4. Pilih OK.

Catatan

Meskipun langkah-langkah ini berlaku untuk sebagian besar perangkat, Anda mungkin mengalami beberapa perbedaan.

Tutorial TalkBack terbuka secara otomatis saat pertama kali Anda mengaktifkan TalkBack.

Untuk metode alternatif mengaktifkan TalkBack, lihat Mengaktifkan atau menonaktifkan Talkback.

Aktifkan VoiceOver

VoiceOver adalah pembaca layar utama yang digunakan di iOS dan macOS. Di iOS, VoiceOver dapat diaktifkan sebagai berikut:

  1. Buka aplikasi Pengaturan.
  2. Pilih VoiceOver Aksesibilitas>.
  3. Aktifkan VoiceOver .

Tutorial VoiceOver dapat dibuka dengan memilih Praktik VoiceOver, setelah VoiceOver diaktifkan.

Untuk metode alternatif mengaktifkan VoiceOver, lihat Mengaktifkan dan mempraktikkan VoiceOver di i Telepon dan Menyalakan dan mempraktikkan VoiceOver di iPad.

Di macOS, VoiceOver dapat diaktifkan sebagai berikut:

  1. Buka Preferensi Sistem.
  2. Pilih VoiceOver Aksesibilitas>.
  3. Pilih Aktifkan VoiceOver.
  4. Pilih Gunakan VoiceOver.

Tutorial VoiceOver dapat dibuka dengan memilih Buka Pelatihan VoiceOver....

Untuk metode alternatif mengaktifkan VoiceOver, lihat Mengaktifkan atau menonaktifkan VoiceOver di Mac.

Aktifkan Narator

Narator adalah pembaca layar utama yang digunakan pada Windows. Narator dapat diaktifkan dengan menekan tombol + logo Windows Ctrl + Enter bersama-sama. Tombol ini dapat ditekan lagi untuk menghentikan Narator.

Untuk informasi selengkapnya tentang Narator, lihat Panduan lengkap untuk Narator.

Daftar periksa aksesibilitas

Ikuti tips ini untuk memastikan bahwa aplikasi MAUI .NET Anda dapat diakses oleh audiens seluas mungkin:

  • Pastikan aplikasi Anda dapat dirasakan, dapat dioperasikan, dimengerti, dan kuat untuk semua dengan mengikuti Panduan Aksesibilitas Konten Web (WCAG). WCAG adalah standar aksesibilitas global dan tolok ukur hukum untuk web dan seluler. Untuk informasi selengkapnya, lihat Gambaran Umum Panduan Aksesibilitas Konten Web (WCAG).
  • Pastikan antarmuka pengguna menjelaskan sendiri. Uji bahwa semua elemen antarmuka pengguna Anda dapat diakses pembaca layar. Tambahkan teks dan petunjuk deskriptif jika perlu.
  • Pastikan bahwa gambar dan ikon memiliki deskripsi teks alternatif.
  • Mendukung font besar dan kontras tinggi. Hindari dimensi kontrol hardcoding, dan lebih memilih tata letak yang mengubah ukuran untuk mengakomodasi ukuran font yang lebih besar. Uji skema warna dalam mode kontras tinggi untuk memastikan skema tersebut dapat dibaca.
  • Desain pohon visual dengan mengingat navigasi. Gunakan kontrol tata letak yang sesuai sehingga menavigasi antar kontrol menggunakan metode input alternatif mengikuti alur logis yang sama seperti menggunakan sentuhan. Selain itu, kecualikan elemen yang tidak perlu dari pembaca layar (misalnya, gambar dekoratif atau label untuk bidang yang sudah dapat diakses).
  • Jangan mengandalkan isti audio atau warna saja. Hindari situasi di mana satu-satunya indikasi kemajuan, penyelesaian, atau beberapa status lainnya adalah perubahan suara atau warna. Desain antarmuka pengguna untuk menyertakan isjin visual yang jelas, dengan suara dan warna hanya untuk penguatan, atau tambahkan indikator aksesibilitas tertentu. Saat memilih warna, cobalah untuk menghindari palet yang sulit dibedakan untuk pengguna dengan buta warna.
  • Berikan keterangan untuk konten video dan skrip yang dapat dibaca untuk konten audio. Ini juga berguna untuk memberikan kontrol yang menyesuaikan kecepatan konten audio atau video, dan memastikan bahwa kontrol volume dan transportasi mudah ditemukan dan digunakan.
  • Melokalisasi deskripsi aksesibilitas Anda saat aplikasi mendukung beberapa bahasa.
  • Uji fitur aksesibilitas aplikasi Anda di setiap platform yang ditargetkannya. Untuk informasi selengkapnya, lihat Menguji aksesibilitas.