Sejauh ini dalam materi ini, Anda telah belajar tentang individu, bisnis, dan aspek hukum aksesibilitas digital, dan dasar-dasar aksesibilitas digital kesesuaian. Anda telah mengeksplorasi topik-topik spesifik yang terkait dengan desain inklusif dan coding, termasuk kapan harus menggunakan ARIA versus HTML, cara mengukur kontras warna, saat JavaScript penting, di antara topik lainnya.
Di modul lainnya, kami beralih dari mendesain dan membangun ke pengujian untuk aksesibilitas. Kita akan menggunakan proses pengujian tiga langkah yang mencakup alat dan teknik pengujian teknologi otomatis, manual, dan pendukung. Kita akan menggunakan demo yang sama di seluruh modul pengujian ini untuk memajukan halaman web dari tidak dapat diakses menjadi dapat diakses.
Setiap pengujian—otomatis, manual, dan teknologi pendukung—sangat penting untuk mencapai produk yang paling mudah diakses.
Pengujian kami mengandalkan tingkat kepatuhan A dan AA Web Content Accessibility Guidelines (WCAG) 2.1 sebagai standar kami. Ingatlah bahwa industri, tipe produk, hukum setempat dan negara, serta kebijakan, atau tujuan aksesibilitas keseluruhan menentukan pedoman mana yang diikuti dan level yang harus dipenuhi. Jika Anda tidak memerlukan standar khusus untuk proyek, rekomendasinya adalah mengikuti WCAG versi terbaru. Lihat kembali "Bagaimana aksesibilitas digital diukur?" untuk mengetahui informasi umum tentang audit aksesibilitas, jenis/tingkat kepatuhan, WCAG, dan POUR.
Seperti yang Anda ketahui sekarang, kepatuhan aksesibilitas bukan keseluruhan cerita dalam mendukung difabel. Tapi, ini adalah titik awal yang baik karena menyediakan metrik yang dapat Anda uji. Sebaiknya Anda mengambil tindakan tambahan di luar pengujian kepatuhan aksesibilitas, seperti menjalankan pengujian kegunaan dengan difabel, mempekerjakan difabel untuk bekerja di tim Anda, atau berkonsultasi dengan individu atau perusahaan yang memiliki keahlian aksesibilitas digital untuk membantu Anda membuat produk yang lebih inklusif.
Dasar-dasar pengujian otomatis
Pengujian aksesibilitas otomatis menggunakan software untuk memindai produk digital Anda aksesibilitas terhadap standar kesesuaian aksesibilitas yang telah ditentukan.
Keuntungan pengujian aksesibilitas otomatis:
- Mudah untuk mengulangi pengujian di berbagai tahap siklus proses produk.
- Hanya beberapa langkah untuk dijalankan dan hasil yang sangat cepat.
- Sedikit pengetahuan aksesibilitas diperlukan untuk menjalankan pengujian atau memahami hasilnya.
Kelemahan pengujian aksesibilitas otomatis:
- Alat otomatis tidak mendeteksi semua error aksesibilitas di produk Anda
- Positif palsu yang dilaporkan (masalah yang dilaporkan bukan pelanggaran WCAG yang sebenarnya)
- Beberapa alat mungkin diperlukan untuk berbagai jenis dan peran produk
Pengujian otomatis adalah langkah pertama yang bagus untuk memeriksa apakah situs atau aplikasi Anda aksesibilitas, tetapi tidak semua pemeriksaan bisa diotomatiskan. Kita akan membahas lebih detail tentang cara memeriksa aksesibilitas elemen yang tidak dapat diotomatiskan dalam modul pengujian aksesibilitas manual.
Jenis alat otomatis
Salah satu alat pengujian aksesibilitas otomatis online pertama dikembangkan pada tahun 1996 oleh Center for Applied Special Technology (CAST), yang disebut "The Bobby Report". Saat ini, ada lebih dari 100 alat pengujian otomatis yang dapat dipilih.
Implementasi alat otomatis bervariasi, mulai dari ekstensi browser aksesibilitas hingga lint kode, aplikasi desktop dan seluler, dasbor online, dan bahkan API open source yang dapat Anda gunakan untuk membuat alat otomatis Anda sendiri.
Alat otomatis yang Anda gunakan dapat bergantung pada banyak faktor, termasuk:
- Standar dan tingkat kesesuaian mana yang Anda uji? Hal ini dapat mencakup WCAG 2.1, WCAG 2.0, Section 508 AS, atau daftar aturan aksesibilitas yang diubah.
- Jenis produk digital apa yang Anda uji? Dapat berupa situs web, web aplikasi, aplikasi seluler native, PDF, kios, atau produk lain.
- Di bagian mana dari siklus proses pengembangan software Anda menguji produk?
- Berapa lama waktu yang diperlukan untuk menyiapkan dan menggunakan alat ini? Untuk individu, tim, atau perusahaan?
- Siapa yang melakukan tes: desainer, pengembang, QA, atau orang lain?
- Seberapa sering Anda ingin aksesibilitas diperiksa? Detail apa yang harus disertakan dalam laporan? Apakah permasalahan terkait langsung dengan proses penjualan tiket sistem operasi?
- Alat apa yang paling cocok di lingkungan Anda? Untuk tim Anda?
Ada banyak faktor tambahan yang juga perlu dipertimbangkan. Baca artikel WAI tentang "Memilih Alat Evaluasi Aksesibilitas Web" untuk mengetahui informasi selengkapnya tentang cara memilih alat terbaik bagi Anda dan tim.
Demo: Pengujian otomatis
Untuk demo pengujian aksesibilitas otomatis, kita akan menggunakan Lighthouse Chrome. Lighthouse adalah alat sumber terbuka otomatis yang dibuat untuk meningkatkan kualitas laman web melalui berbagai jenis audit, seperti kinerja, SEO, dan aksesibilitas.
Demo kami adalah situs yang dibuat untuk organisasi buatan, yakni Medical Mysteries Klub. Situs ini sengaja dibuat tidak dapat diakses untuk demo. Beberapa di antaranya aksesibilitas mungkin terlihat oleh Anda, dan beberapa (tetapi tidak semua) akan terjebak pengujian otomatis kami.
Langkah 1
Menggunakan browser Chrome, instal ekstensi Lighthouse.
Ada banyak cara untuk mengintegrasikan Lighthouse ke dalam alur kerja pengujian. Kita akan menggunakan ekstensi Chrome untuk demo ini.
Langkah 2
Kami membuat demo di CodePen.
Lihat dalam mode debug untuk melanjutkan proses
pengujian berikutnya. Hal ini penting, karena menghapus <iframe>
yang mengelilingi
halaman web demo, yang dapat mengganggu beberapa alat pengujian.
Pelajari selengkapnya tentang Mode debug CodePen.
Langkah 3
Buka Chrome DevTools dan buka tab Lighthouse. Hapus semua opsi kategori kecuali "Aksesibilitas". Biarkan mode sebagai default dan pilih jenis perangkat yang Anda untuk menjalankan pengujian.
Langkah 4
Klik Analyze page load dan beri Lighthouse waktu untuk menjalankan pengujiannya.
Setelah pengujian selesai, Lighthouse menampilkan skor yang mengukur dapat diakses dari produk yang Anda uji. Tujuan Skor Lighthouse dihitung dari jumlah masalah, jenis masalah, dan dampaknya terhadap pengguna masalah yang terdeteksi.
Selain skor, laporan Lighthouse menyertakan informasi rinci tentang apa yang masalah yang telah dideteksi dan tautan ke referensi untuk mempelajari lebih lanjut cara memperbaikinya mereka. Laporan ini juga menyertakan pengujian yang lulus atau tidak berlaku dan daftar item tambahan untuk diperiksa secara manual.
Langkah 5
Sekarang, lihat contoh setiap masalah aksesibilitas otomatis yang ditemukan dan perbaiki gaya dan markup yang relevan.
Masalah 1: Peran ARIA
Masalah pertama menyatakan: "Elemen dengan [role] ARIA yang mewajibkan turunannya berisi [role] tertentu tidak memiliki beberapa atau semua turunan yang diperlukan. Beberapa peran induk ARIA harus memuat peran turunan tertentu agar dapat menjalankan fungsi aksesibilitas yang diinginkan." Pelajari lebih lanjut aturan peran ARIA.
Dalam demo, tombol berlangganan newsletter gagal:
<button role="list" type="submit" tabindex="1">Subscribe</button>
"Berlangganan" tombol di samping kolom masukan memiliki peran ARIA yang salah yang diterapkan padanya. Dalam hal ini, peran tersebut dapat dihapus sepenuhnya.
<button type="submit" tabindex="1">Subscribe</button>
Masalah 2: ARIA disembunyikan
Elemen "[aria-hidden="true"]
berisi turunan yang dapat difokuskan. Turunan
yang dapat difokuskan dalam elemen [aria-hidden="true"]
mencegah elemen
interaktif tersebut tersedia bagi pengguna teknologi pendukung seperti pembaca
layar. Pelajari aturan aria-hidden
lebih lanjut.
<input type="email" placeholder="Enter your e-mail address" aria-hidden="true" tabindex="-1" required>
Kolom input memiliki atribut aria-hidden="true"
yang diterapkan padanya. Menambahkan
atribut ini akan menyembunyikan elemen (dan semua yang bertingkat di bawahnya) dari
teknologi pendukung.
<input type="email" placeholder="Enter your e-mail address" tabindex="-1" required>
Dalam hal ini, Anda harus menghapus atribut ini dari input untuk memungkinkan pengguna yang menggunakan teknologi pendukung mengakses dan memasukkan informasi ke kolom formulir.
Masalah 3: Nama tombol
Tombol tidak memiliki label aksesibilitas. Jika tombol tidak memiliki label aksesibilitas, pembaca layar akan mengucapkannya sebagai "tombol", sehingga tidak dapat digunakan oleh pengguna yang mengandalkan pembaca layar.
Pelajari aturan nama tombol lebih lanjut.
<button role="list" type="submit" tabindex="1">Subscribe</button>
Saat Anda menghapus peran ARIA yang tidak akurat dari elemen tombol di masalah 1, kata "Subscribe" menjadi nama tombol yang dapat diakses. Fungsi ini di-build ke dalam elemen tombol HTML semantik. Ada adalah opsi pola tambahan yang perlu dipertimbangkan untuk situasi yang lebih kompleks.
<button type="submit" tabindex="1">Subscribe</button>
Masalah 4: Atribut alt gambar
Elemen gambar tidak memiliki atribut [alt]
. Elemen informatif harus mengarah
untuk teks alternatif yang deskriptif dan singkat. Elemen dekoratif dapat diabaikan dengan
atribut alt kosong. Pelajari lebih lanjut aturan teks alternatif gambar.
<a href="index.html">
<img src="https://upload.wikimedia.org/wikipedia/commons/….png">
</a>
Karena gambar logo juga merupakan tautan, Anda tahu dari modul gambar yang disebutnya dan memerlukan informasi teks alternatif tentang tujuan gambar. Biasanya, gambar pertama di laman adalah logo, sehingga Anda dapat mengasumsikan pengguna AT Anda akan mengetahui hal ini, dan Anda dapat memutuskan untuk tidak menambahkan informasi kontekstual ke deskripsi gambar Anda.
<a href="index.html">
<img src="https://upload.wikimedia.org/wikipedia/commons/….png"
alt="Go to the home page.">
</a>
Masalah 5: Teks link
Link tidak memiliki nama yang dapat dikenali. Teks tautan (dan teks alternatif untuk gambar, saat digunakan sebagai link) yang terlihat jelas, unik, dan dapat difokuskan meningkatkan pengalaman navigasi yang baik bagi pengguna pembaca layar. Pelajari lebih lanjut aturan teks link.
<a href="#!"><svg><path>...</path></svg></a>
Semua gambar yang dapat ditindaklanjuti di halaman tersebut harus menyertakan informasi tentang posisi
tautan mengirimkan pengguna. Salah satu metode untuk mengatasi
masalah ini adalah dengan menambahkan
ke gambar tentang tujuannya, seperti yang Anda lakukan pada gambar logo di
contoh. Ini berfungsi dengan baik untuk gambar yang menggunakan tag <img>
, tetapi <svg>
tag tidak dapat menggunakan metode ini.
Untuk ikon media sosial, yang menggunakan tag <svg>
, Anda dapat menggunakan
pola deskripsi alternatif yang berbeda
menargetkan SVG, tambahkan informasi antara tag <a>
dan <svg>
, lalu
menyembunyikannya secara visual dari pengguna, menambahkan ARIA yang didukung, atau opsi lainnya. Bergantung pada lingkungan dan batasan kode Anda, satu metode mungkin lebih disukai daripada metode lainnya.
Gunakan opsi pola paling sederhana yang paling membantu
cakupan teknologi, yaitu menambahkan role="img"
ke tag <svg>
dan
termasuk elemen <title>
.
<a href="#!">
<svg role="img">
<title>Connect on our Twitter page.</title>
<path>...</path>
</svg>
</a>
Masalah 6: Kontras warna
Warna latar belakang dan latar depan tidak memiliki rasio kontras yang cukup. Teks yang memiliki kontras rendah akan sulit atau tidak mungkin dibaca oleh kebanyakan pengguna. Pelajari aturan kontras warna lebih lanjut.
Dua contoh telah dilaporkan.
Ada banyak masalah kontras warna yang terdeteksi di halaman web. Seperti yang Anda pelajari di modul warna dan kontras, teks berukuran reguler (kurang dari 18pt/24px) memiliki persyaratan kontras warna 4,5:1, sedangkan teks berukuran besar (setidaknya 18pt/24px atau 14pt/18,5px tebal) dan ikon penting harus memenuhi persyaratan 3:1.
Untuk judul halaman, teks berwarna hijau kebiruan harus memenuhi kontras warna 3:1 persyaratan karena itu adalah teks berukuran besar di 24px. Namun, tombol hijau kebiruan dianggap sebagai teks berukuran reguler dengan ketebalan 16 px, sehingga harus memenuhi persyaratan kontras warna 4,5:1.
Dalam hal ini, kita bisa menemukan warna hijau kebiruan yang cukup gelap untuk memenuhi 4,5:1, atau kita bisa meningkatkan ukuran teks tombol menjadi 18,5px {i>bold<i} dan mengubah nilai warna hijau kebiruan. Salah satu metode tetap sesuai dengan desain estetika.
Semua teks abu-abu pada latar belakang putih juga gagal untuk kontras warna, kecuali dua judul terbesar di halaman. Teks ini harus digelapkan untuk persyaratan kontras warna 4,5:1.
Masalah 7: struktur daftar
Item daftar (<li>
) tidak dimuat dalam elemen induk <ul>
atau <ol>
.
Pembaca layar mengharuskan item daftar (<li>
) untuk dimuat dalam induk
<ul>
atau <ol>
akan diumumkan dengan benar.
Pelajari aturan daftar lebih lanjut.
<div class="ul">
<li><a href="#">About</a></li>
<li><a href="#">Community</a></li>
<li><a href="#">Donate</a></li>
<li><a href="#">Q&A</a></li>
<li><a href="#">Subscribe</a></li>
</div>
Kita menggunakan class CSS dalam demo ini untuk menyimulasikan daftar yang tidak diurutkan,
menggunakan tag <ul>
. Saat menulis kode ini dengan tidak benar, kami menghapus fitur HTML semantik bawaan yang disertakan dalam tag ini. Dengan mengganti class dengan tag
<ul>
yang sebenarnya dan mengubah CSS terkait, kita akan menyelesaikan masalah aksesibilitas ini.
<ul>
<li><a href="#">About</a></li>
<li><a href="#">Community</a></li>
<li><a href="#">Donate</a></li>
<li><a href="#">Q&A</a></li>
<li><a href="#">Subscribe</a></li>
</ul>
Masalah 8: tabindex
Beberapa elemen memiliki nilai tabindex
yang lebih besar dari 0. Nilai yang lebih besar dari 0
menyiratkan pengurutan navigasi yang eksplisit. Meskipun secara teknis valid, hal ini sering
menciptakan pengalaman yang membingungkan bagi pengguna yang mengandalkan teknologi pendukung.
Pelajari lebih lanjut aturan tabindex.
<button type="submit" tabindex="1">Subscribe</button>
Kecuali jika ada alasan khusus untuk mengganggu urutan tab alami di halaman
web, Anda tidak perlu memiliki bilangan bulat positif pada atribut tabindex. Untuk
mempertahankan urutan tab alami, kita dapat mengubah tabindex menjadi 0
atau
menghapus atribut sepenuhnya.
<button type="submit">Subscribe</button>
Langkah 6
Setelah Anda memperbaiki semua masalah aksesibilitas otomatis, buka halaman mode debug. Jalankan kembali audit aksesibilitas Lighthouse. Skor Anda akan jauh lebih baik daripada saat pertama kali dijalankan.
Kami telah menerapkan semua pembaruan aksesibilitas otomatis ini ke CodePen.
Langkah berikutnya
Anda hebat. Anda telah mencapai banyak hal, tetapi kita belum selesai! Berikutnya, kita akan beralih ke pemeriksaan manual, seperti yang dijelaskan modul pengujian aksesibilitas manual.
Menguji pemahaman Anda
Uji pengetahuan Anda tentang pengujian aksesibilitas otomatis
Jenis pengujian apa yang harus Anda lakukan untuk memastikan bahwa situs Anda dapat diakses?
Error apa yang terdeteksi dalam pengujian otomatis?