Bagikan melalui


Aksesibilitas di macOS

Halaman ini menjelaskan cara menggunakan API Aksesibilitas macOS untuk membangun aplikasi sesuai dengan daftar periksa aksesibilitas. Lihat halaman aksesibilitas Android dan aksesibilitas iOS untuk API platform lainnya.

Untuk memahami cara kerja API aksesibilitas di macOS (sebelumnya disebut OS X), tinjau model aksesibilitas OS X terlebih dahulu.

Menjelaskan elemen UI

AppKit menggunakan NSAccessibility protokol untuk mengekspos API yang membantu membuat antarmuka pengguna dapat diakses. Ini termasuk perilaku default yang mencoba mengatur nilai yang bermakna untuk properti aksesibilitas, seperti mengatur tombol AccessibilityLabel. Label biasanya adalah satu kata atau frasa pendek yang menjelaskan kontrol atau tampilan.

File Papan-cerita

Xamarin.Mac menggunakan Xcode Interface Builder untuk mengedit file papan cerita. Informasi aksesibilitas dapat diedit di Pemeriksa Identitas saat kontrol dipilih pada permukaan desain (seperti yang ditunjukkan pada cuplikan layar di bawah ini):

Adding accessibility in Xcode's Interface Builder

Kode

Xamarin.Mac saat ini tidak mengekspos sebagai AccessibilityLabel setter. Tambahkan metode pembantu berikut untuk mengatur label aksesibilitas:

public static class AccessibilityHelper
{
    [System.Runtime.InteropServices.DllImport (ObjCRuntime.Constants.ObjectiveCLibrary)]
    extern static void objc_msgSend (IntPtr handle, IntPtr selector, IntPtr label);

    static public void SetAccessibilityLabel (this NSView view, string value)
    {
        objc_msgSend (view.Handle, new ObjCRuntime.Selector ("setAccessibilityLabel:").Handle, new NSString (value).Handle);
    }
}

Metode ini kemudian dapat digunakan dalam kode seperti yang ditunjukkan:

AccessibilityHelper.SetAccessibilityLabel (someButton, "New Accessible Description");

Properti AccessibilityHelp ini untuk penjelasan tentang apa yang dilakukan kontrol atau tampilan, dan hanya boleh ditambahkan ketika label mungkin tidak memberikan informasi yang memadai. Teks bantuan masih harus disimpan sesingkat mungkin, misalnya "Menghapus dokumen".

Beberapa elemen antarmuka pengguna tidak relevan untuk akses yang dapat diakses (seperti label di samping input yang memiliki label aksesibilitas dan bantuannya sendiri). Dalam kasus ini, atur AccessibilityElement = false sehingga kontrol atau tampilan ini akan dilewati oleh pembaca layar atau alat aksesibilitas lainnya.

Apple menyediakan panduan aksesibilitas yang menjelaskan praktik terbaik untuk label aksesibilitas dan teks bantuan.

Kontrol kustom

Lihat panduan Apple untuk kontrol kustom yang dapat diakses untuk detail tentang langkah-langkah tambahan yang diperlukan.

Menguji aksesibilitas

macOS menyediakan Pemeriksa Aksesibilitas yang membantu menguji fungsionalitas aksesibilitas. Inspektur disertakan dengan Xcode.

Saat pertama kali diluncurkan, Pemeriksa Aksesibilitas akan memerlukan izin untuk mengontrol komputer melalui aksesibilitas:

Accessibility Inspector requesting permission to run

Buka kunci layar pengaturan (jika diperlukan, di kiri bawah) dan centang Pemeriksa Aksesibilitas:

Settings screen to enable Accessibility Inspector

Setelah diaktifkan, pemeriksa muncul sebagai jendela mengambang yang dapat dipindahkan di sekitar layar. Cuplikan layar di bawah ini menunjukkan pemeriksa yang berjalan di samping contoh app Mac. Saat kursor dipindahkan ke jendela, pemeriksa menampilkan semua properti yang dapat diakses dari setiap kontrol:

Example of Accessibility Inspector running

Untuk informasi selengkapnya, baca panduan aksesibilitas pengujian untuk OS X.