10 poin oleh GN⁺ 2024-03-20 | 3 komentar | Bagikan ke WhatsApp

Menerapkan a11y (aksesibilitas) dengan cepat di SwiftUI

  • Menjelaskan cara cepat memperbaiki kasus ketika aksesibilitas terabaikan dalam aplikasi SwiftUI.
  • Aksesibilitas adalah fitur penting yang dibutuhkan oleh 16% pengguna, tetapi sering diabaikan selama pengembangan.
  • Aplikasi yang tidak mempertimbangkan aksesibilitas dapat meninggalkan kesan negatif bagi pengguna.

Memeriksa aksesibilitas aplikasi

  • Penting untuk menguji aksesibilitas di perangkat nyata.
  • Atur Control Center agar fitur aksesibilitas dapat diterapkan dengan cepat.

Memeriksa ukuran teks

  • Di iOS tersedia 12 ukuran teks, dan semuanya perlu diuji untuk memastikan aplikasi tampil baik pada tiap ukuran.
  • Perlu memeriksa apakah UI tetap berfungsi dengan baik bahkan pada ukuran teks terbesar.

Memeriksa pembaca layar

  • Untuk pengguna yang memakai pembaca layar, periksa aksesibilitas dengan alat seperti VoiceOver.
  • Perbaikan sederhana seperti menambahkan label aksesibilitas pada gambar dapat memberi peningkatan besar.

Menerapkan aksesibilitas dengan cepat

  • Setelah masalah diidentifikasi, selesaikan satu per satu dengan cepat.

Konten yang dapat digulir

  • Saat ukuran teks membesar, masalah dapat diatasi dengan memperluas konten ke dalam scroll view.
  • Gunakan view modifier kustom bernama a11yScrollView() agar konten hanya bisa digulir saat memang diperlukan.

Code smell dalam membuat ruang

  • Alih-alih Spacer(), gunakan modifier frame() untuk membangun layout yang lebih andal.

Menyesuaikan ukuran gambar dan ikon

  • Gunakan property wrapper @ScaledMetric untuk menyesuaikan gambar dan ikon secara dinamis sesuai ukuran teks pengguna.

Penyelarasan konten

  • Gunakan A11yHStack yang dapat menyelaraskan konten berdasarkan ukuran teks pengguna.

Meningkatkan pembaca layar

  • Tingkatkan kompatibilitas dengan pembaca layar menggunakan accessibilityLabel, accessibilityElement(children:), accessibilityRepresentation, dan lainnya.

Menggunakan komponen native

  • Sebisa mungkin gunakan komponen native SwiftUI untuk meningkatkan performa dan aksesibilitas.

Meyakinkan para pemangku kepentingan

  • Menjelaskan cara memengaruhi organisasi agar memandang aksesibilitas sebagai hal penting.
  • Menekankan pentingnya aksesibilitas melalui persyaratan hukum dan manfaat bisnis.

Kesimpulan

  • Menjelaskan keseluruhan proses untuk mengidentifikasi dan menyelesaikan masalah aksesibilitas aplikasi.
  • Memperkenalkan berbagai alat dan teknik yang disediakan SwiftUI untuk meningkatkan aksesibilitas.

Opini GN⁺

  • Artikel ini sangat bermanfaat bagi pengembang aplikasi karena menjelaskan mengapa aksesibilitas itu penting dan memberikan cara konkret untuk benar-benar meningkatkannya.
  • Aplikasi yang tidak mempertimbangkan aksesibilitas dapat menurunkan pengalaman pengguna dan menimbulkan masalah hukum, sehingga penting untuk memikirkannya sejak tahap awal pengembangan.
  • Saat menggunakan framework modern seperti SwiftUI, keunggulan komponen native dapat dimanfaatkan semaksimal mungkin untuk meningkatkan performa dan aksesibilitas sekaligus.
  • Memanfaatkan library atau alat yang disediakan komunitas untuk meningkatkan aksesibilitas juga merupakan pendekatan yang baik, karena dapat menyederhanakan proses pengembangan dan meningkatkan efisiensi.
  • Meningkatkan aksesibilitas aplikasi bukan sekadar masalah teknis, tetapi juga bentuk tanggung jawab sosial dan praktik inklusivitas, sehingga penting memastikan semua pengguna dapat menggunakan layanan secara setara.

3 komentar

 
aer0700 2024-03-21

Mempertimbangkan aksesibilitas mungkin bisa menjadi cara untuk membangun pelanggan yang loyal terhadap layanan saya.
Jika layanan pesaing yang serupa tidak mendukung fitur tersebut, tetapi hanya aplikasi kita yang mendukungnya, pelanggan akan memakai milik kita.

 
godrm 2024-03-20

Oho, ini juga harus diperkenalkan di Let's Swift, haha

 
GN⁺ 2024-03-20
Opini Hacker News
  • Ringkasan komentar pertama:

    Pengembang tidak setuju dengan klaim penulis bahwa mereka "tidak akan berhenti sampai aplikasi bisa digunakan semua orang". Semua aplikasi yang mereka buat dikembangkan agar cocok untuk sebanyak mungkin pengguna tanpa mengorbankan kebutuhan bisnis atau aspek penting/inti aplikasi. Jika tidak, produk itu akan menjadi tidak layak digunakan.

  • Ringkasan komentar kedua:

    Pengembang berusaha sebaik mungkin agar aplikasinya bisa digunakan juga oleh orang dengan gangguan penglihatan. Pada aplikasi terbarunya, mereka menemukan cara yang memudahkan pengguna tanpa disabilitas sekaligus memberi manfaat bagi pengguna dengan disabilitas. Mereka menambahkan fitur 'bantuan tekan lama' yang menampilkan popover yang menjelaskan elemen tersebut saat elemen UI apa pun ditekan lama. Fitur ini bekerja dengan baik menggunakan label dan petunjuk aksesibilitas.

  • Ringkasan komentar ketiga:

    Penilaian positif terhadap artikel yang praktis. Aksesibilitas itu penting, tetapi mereka merasa bermasalah jika pengembang yang tidak membuat aplikasi pada dasarnya aksesibel langsung dicap malas. Ada banyak konsep yang harus dipelajari, prioritas yang saling bentrok, alat yang harus dibiasakan, dan juga kebutuhan untuk membangun business case untuk aksesibilitas. Sebagian besar pengembang dan desainer juga tidak terlalu memahami aturan WCAG. Menemukan warna merek yang memenuhi persyaratan kontras warna juga sulit.

  • Ringkasan komentar keempat:

    Pengembang membuat aplikasi dengan Flutter tanpa mempertimbangkan aksesibilitas, tetapi menerima keluhan dari pengguna tunanetra setelah 6 bulan menggunakan aplikasi tersebut. Flutter menangani sebagian besar aksesibilitas secara otomatis, dan fitur kustom juga bekerja dengan baik untuk pengguna tunanetra tanpa perlu perubahan besar.

  • Ringkasan komentar kelima:

    Mempertanyakan mengapa opsi aksesibilitas harus diprioritaskan secara visual dan mengapa media yang presisi serta padat sentuhan harus diberi anotasi. Mungkin lebih baik menyediakan aplikasi yang disesuaikan untuk pengguna yang memang membutuhkan aksesibilitas, seperti versi "low vision" atau versi "akurasi sentuh rendah".

  • Ringkasan komentar keenam:

    Pertanyaan tentang tanggung jawab hukum atau masa tenggang ketika aplikasi baru atau startup sukses jauh lebih cepat dari perkiraan. Saat belum yakin apakah idenya akan berhasil, aksesibilitas mungkin bukan kekhawatiran besar, dan di luar California tampaknya tidak akan menjadi masalah hukum besar jika sumber daya kemudian dialokasikan untuk memperbaiki masalah aksesibilitas setelah sukses tak terduga.

  • Ringkasan komentar ketujuh:

    Berbagi pengalaman ayah pengembang yang harus menggunakan kursi roda listrik akibat stroke. Hal ini membuat mereka menyadari pentingnya kepatuhan terhadap ADA, dan menekankan bahwa sebagai pengembang mereka bisa berperan besar dalam membuat dunia lebih mudah diakses. Mereka mendorong pengembang lain untuk berupaya membuat hasil kerja mereka bisa diakses oleh sebanyak mungkin orang.

  • Ringkasan komentar kedelapan:

    Berbagi pengalaman pengguna yang mengaktifkan opsi 'Teks Lebih Besar' dan 'Display Zoom' di iPhone. Ini bukan hanya tentang orang dengan disabilitas, tetapi tentang fleksibilitas dan kontrol agar semua pengguna bisa menyesuaikan antarmuka dengan gaya penggunaan mereka. Terkadang mereka tidak ingin melihat layar, melainkan ingin layar dibacakan atau hanya bagian tertentu saja yang dibacakan.

  • Ringkasan komentar kesembilan:

    Komunitas yang membutuhkan aksesibilitas umumnya cenderung meminta terlebih dahulu dan baru menggugat kemudian. ADA adalah hukum yang kuat, tetapi jika ada upaya yang sungguh-sungguh biasanya tidak menjadi masalah. Sekitar tahun 2000 mereka menulis panduan aksesibilitas di bawah pengawasan pengacara, lalu setelah itu juga bekerja sama dengan pengguna tunanetra untuk menambahkan aksesibilitas ke aplikasi. Jika seseorang meminta bantuan, bantulah, dan dengan begitu Anda bisa mendapatkan pendukung kuat untuk apa yang Anda kerjakan.

  • Ringkasan komentar kesepuluh:

    Aplikasi itu sukses karena tidak membuang waktu untuk hal-hal yang dianggap tidak perlu seperti aksesibilitas (a11y) atau internasionalisasi (i18n). Secara historis, tidak semua produk sukses berfokus pada aksesibilitas atau internasionalisasi sejak awal. Sekarang aplikasinya sudah sukses, jadi mereka bisa mulai memikirkan aksesibilitas dan mengalokasikan sumber daya untuk itu.