Accessibility (a11y) adalah praktik membuat aplikasi yang dapat digunakan oleh penyandang disabilitas. Menurut Organisasi Kesehatan Dunia, lebih dari 1,3 miliar orang (16% populasi) hidup dengan suatu bentuk disabilitas. WHO (laporan 2024) menekankan bahwa aksesibilitas digital menjadi sangat penting. Mari kita bahas cara memastikan aksesibilitas di iOS dan Android, serta standar apa saja yang ada.
Poin Penting
Accessibility (disingkat a11y — huruf a + 11 huruf + y) adalah properti suatu produk yang dapat digunakan oleh penyandang disabilitas. Dalam konteks aplikasi seluler, ini berarti: dukungan untuk pembaca layar (VoiceOver, TalkBack), ukuran teks yang memadai, kontras tinggi, urutan fokus yang benar untuk navigasi keyboard, dan tidak adanya elemen animasi yang menyebabkan pusing.
Inklusivitas bukan hanya kewajiban etis tetapi juga hukum. Banyak negara memiliki undang-undang aksesibilitas digital: ADA (AS), Bagian 508, European Accessibility Act (UE, wajib untuk aplikasi mulai 2025). Menurut Business Disability Forum, perusahaan yang berinvestasi dalam aksesibilitas meningkatkan audiens mereka sebesar 15–20% dan mengurangi risiko hukum.
Di IT Sectr, kami memeriksa aksesibilitas di setiap tahap pengembangan. Pengalaman kami menunjukkan: memperbaiki masalah aksesibilitas pada tahap desain 10 kali lebih murah daripada setelah rilis. Aksesibilitas bukanlah fitur, melainkan persyaratan dasar untuk aplikasi modern.
Ekosisitem Apple menawarkan alat aksesibilitas yang kuat. VoiceOver adalah pembaca layar bawaan yang menyuarakan semua yang terjadi di layar. Pengguna mengontrol perangkat dengan gerakan: geser ke kanan — elemen berikutnya, geser ke kiri — elemen sebelumnya, ketuk dua kali — aktivasi.
Accessibility Label adalah teks yang dibaca VoiceOver untuk suatu elemen. Secara default, iOS menggunakan teks tombol atau label, tetapi untuk ikon dan elemen grafis, Anda perlu mengatur label secara eksplisit. Accessibility Trait adalah properti yang menjelaskan jenis elemen: button (tombol), header (header), link (tautan), image (gambar). Trait yang benar membantu pengguna memahami cara berinteraksi dengan suatu elemen.
VoiceOver mendukung lebih dari 40 bahasa dan berfungsi di semua perangkat Apple. Bagi pengembang, hal utama adalah mengatur accessibilityLabel dan accessibilityTraits yang benar untuk setiap elemen antarmuka. Jika suatu elemen tidak boleh dapat diakses (gambar dekoratif), atur isAccessibilityElement = false.
// Swift — pengaturan aksesibilitas untuk tombol
let shareButton = UIButton()
shareButton.setImage(UIImage(named: "share-icon"), for: .normal)
shareButton.accessibilityLabel = "Bagikan artikel ini"
shareButton.accessibilityHint = "Membuka dialog untuk memilih metode pengiriman"
shareButton.accessibilityTraits = .button
// SwiftUI — lebih sederhana
struct ShareButtonView: View {
var body: some View {
Button(action: share) {
Image(systemName: "square.and.arrow.up")
}
.accessibilityLabel("Bagikan")
.accessibilityHint("Membuka menu berbagi")
}
}
Kode tersebut menunjukkan pengaturan aksesibilitas untuk tombol tanpa teks (hanya ikon). AccessibilityLabel adalah apa yang akan didengar pengguna. AccessibilityHint adalah petunjuk tambahan tentang hasil tindakan. Jangan gunakan frasa seperti «tombol untuk» di label — Trait sudah memberi tahu bahwa itu adalah tombol.
TalkBack adalah pembaca layar dari Google untuk Android, bagian dari paket Android Accessibility Suite. Seperti VoiceOver, ia menyuarakan elemen antarmuka dan dikendalikan dengan gerakan. TalkBack mendukung lebih dari 100 bahasa dan berfungsi di semua perangkat dengan Google Play Services.
Content Description adalah padanan dari accessibilityLabel di Android. Ini diatur melalui atribut android:contentDescription di XML atau melalui metode setContentDescription() di kode. Untuk elemen yang tidak dapat difokus (ImageView dekoratif), gunakan importantForAccessibility="no".
Focus Order (urutan fokus) adalah urutan pergerakan TalkBack antar elemen saat menggeser. Secara default, Android menggunakan urutan elemen dalam tata letak, tetapi dapat diubah melalui atribut accessibilityTraversalBefore dan accessibilityTraversalAfter. Ini penting untuk layar kompleks dengan komponen kustom.
Di IT Sectr, kami memeriksa Focus Order di setiap layar. Kesalahan urutan fokus adalah salah satu masalah aksesibilitas yang paling umum. Misalnya, jika setelah header pengguna pergi ke komentar alih-alih teks artikel — itu adalah bug aksesibilitas.
WCAG (Web Content Accessibility Guidelines) adalah standar aksesibilitas internasional yang dikembangkan oleh W3C. Versi saat ini adalah WCAG 2.2 (2023). Standar ini dibagi menjadi 4 prinsip: Perceivable (dapat dipersepsi), Operable (dapat dioperasikan), Understandable (dapat dipahami), Robust (kuat) — singkatan POUR.
Tingkat WCAG: A (minimal), AA (sedang, wajib secara hukum di UE), AAA (maksimal). Untuk aplikasi seluler, tingkat AA sudah cukup: kontras teks minimal 4.5:1, dukungan pembaca layar, ukuran target minimal 44x44 piksel, teks untuk video.
Tingkat A — persyaratan dasar: alternatif teks untuk gambar, kontrol keyboard, kontras minimal 3:1. Tingkat AA — sedang: kontras 4.5:1, dukungan penskalaan hingga 200%, header dan label yang benar. Tingkat AAA — tinggi: kontras 7:1, bahasa isyarat untuk video, kontrol suara penuh. Dalam praktiknya, sebagian besar perusahaan menargetkan AA.
| Parameter | iOS | Android |
|---|---|---|
| Pembaca layar | VoiceOver | TalkBack |
| Label elemen | accessibilityLabel | android:contentDescription |
| Jenis elemen | accessibilityTraits | accessibilityRole (Compose), pentingnya fokus |
| Urutan fokus | Otomatis (dapat diubah) | accessibilityTraversalBefore/After |
| Penskalaan teks | Dynamic Type (UIFontMetrics) | sp (scale-independent pixels) |
| Kurangi gerakan | UIAccessibility.isReduceMotionEnabled | Settings.Global.getFloat(... ANIMATOR_DURATION_SCALE) |
Tabel 2. Perbandingan API aksesibilitas iOS dan Android. Meskipun nama berbeda, konsepnya identik: label, jenis, urutan fokus, dan dukungan adaptasi teks.
Pengujian aksesibilitas adalah memeriksa aplikasi untuk kesesuaian dengan standar WCAG dan pengoperasian yang benar dengan pembaca layar. Set pengujian minimal: aktifkan VoiceOver/TalkBack dan navigasi melalui semua layar aplikasi. Dengarkan untuk memeriksa bahwa semua elemen diumumkan, urutan fokus logis, dan elemen yang tidak pantas (dekoratif) diabaikan.
Alat otomatis: Xcode Accessibility Inspector (audit di Xcode untuk iOS), Android Accessibility Scanner (memindai layar dan menemukan masalah), Axe DevTools, WAVE. Alat-alat ini memeriksa kontras, ukuran target, keberadaan label, dan parameter lainnya.
Di IT Sectr, kami melakukan tinjauan aksesibilitas sebelum setiap rilis. Prosesnya meliputi: audit otomatis (Accessibility Inspector), pengujian manual dengan VoiceOver dan TalkBack, pemeriksaan kontras dan penskalaan teks. Kami mencatat masalah di Jira dan menugaskannya ke sprint. Ini memungkinkan kami mempertahankan tingkat AA WCAG di semua proyek.
Pertanyaan yang Sering Diajukan
Pengaturan → Aksesibilitas → VoiceOver. Atau tekan tiga kali tombol samping (atau tombol Home) dengan pintasan aksesibilitas aktif. Untuk aktivasi cepat, gunakan Siri: «Aktifkan VoiceOver». Di Android, TalkBack diaktifkan di Pengaturan → Aksesibilitas → TalkBack.
Untuk mematuhi undang-undang UE (European Accessibility Act mulai 2025) dan AS (ADA), tingkat AA diperlukan. Ini berarti: kontras 4.5:1, semua elemen memiliki label, ukuran target minimal 44x44 piksel, dukungan pembaca layar, teks untuk video.
Ya. Aksesibilitas membantu semua orang: lansia, pengguna di hari yang cerah, orang tua yang menggendong bayi (satu tangan). Selain itu, ini adalah persyaratan hukum di banyak negara. Inklusivitas memperluas audiens dan meningkatkan pengalaman pengguna bagi semua orang.
Gunakan alat-alat ini: WebAIM Contrast Checker (online), Stark untuk Figma/Sketch. Untuk WCAG AA, rasio minimum adalah 4.5:1 untuk teks normal dan 3:1 untuk teks besar (18px ke atas). Untuk AAA — masing-masing 7:1 dan 4.5:1.
Ringkasan
Kami akan mengembangkan aplikasi seluler turnkey
IT Sectr membuat aplikasi iOS dan Android untuk startup dan bisnis sejak 2017. Kami akan memberi saran dan mengusulkan solusi terbaik.