Panduan Lengkap Untuk Komponen Front-End yang Dapat Diakses

Diterbitkan: 2022-03-10
Ringkasan cepat Dalam serangkaian posting pendek baru, kami menyoroti beberapa alat dan teknik yang berguna untuk pengembang dan desainer. Baru-baru ini kami telah membahas Alat Audit CSS dan Generator CSS, dan kali ini kami melihat komponen yang dapat diakses yang andal: dari tab dan tabel hingga sakelar dan tip alat.

Daftar isi

Di bawah ini Anda akan menemukan daftar abjad dari semua komponen yang dapat diakses. Lewati daftar isi, atau gulir ke bawah untuk menjelajahinya satu per satu.

  • :gaya fokus
  • pelengkapan otomatis
  • tombol
  • kartu-kartu
  • komidi putar
  • tombol "tutup"
  • penggeser konten
  • kotak centang
  • sistem warna
  • palet warna
  • komik
  • perpustakaan komponen
  • permintaan persetujuan cookie
  • navigasi halaman saat ini
  • mode gelap
  • grafik data
  • visualisasi data
  • pemilih tanggal
  • tombol dinonaktifkan
  • jangka pembagi garis
  • gaya bentuk
  • catatan kaki
  • menyembunyikan konten
  • tautan ikon
  • masukan
  • navigasi papan ketik
  • link
  • penggulung media
  • modal
  • menu navigasi
  • bidang kata sandi
  • lebih suka-dikurangi-*
  • tombol radio
  • kerangka
  • tautan "lewati"
  • SVG
  • tab
  • meja
  • pengujian
  • aksesibilitas komponen pihak ketiga
  • sakelar sakelar
  • peralatan
  • keterangan alat
  • pemutar video/audio

Dapat diakses :focus

Setiap browser memiliki gaya fokus default, namun di luar kotak, mereka tidak terlalu dapat diakses. Tujuan dari :focus adalah untuk memberikan panduan kepada pengguna tentang di mana tepatnya mereka berada dalam dokumen dan membantu mereka menavigasi melaluinya. Untuk mencapai itu, kita perlu menghindari fokus yang terlalu halus atau tidak terlihat sama sekali. Faktanya, menghapus garis luar adalah ide yang buruk karena menghilangkan indikasi fokus yang terlihat bagi pengguna keyboard. Semakin jelas fokusnya, semakin baik.

Lebih baik: Gaya fokus
Lebih baik :focus (Pratinjau besar)

Ada cara mendesain yang lebih baik :focus . Dalam artikelnya Tips For Focus Styles , Nic Chan menyoroti beberapa tip bermanfaat tentang cara meningkatkan gaya fokus dengan keterjangkauan yang lebih baik dan sedikit padding, offset, dan outline yang tepat. Butuh lebih banyak kesenangan dengan :focus ? Lari Maza juga mendukung Anda.

Kami juga dapat menggunakan :focus-within untuk menata gaya elemen induk dari elemen yang difokuskan, dan :focus-visible untuk tidak menampilkan gaya fokus saat berinteraksi dengan mouse/penunjuk jika hal itu menyebabkan masalah dalam desain Anda.

Sangat penting untuk mempertimbangkan masalah aksesibilitas di sekitar :focus-visible : seperti yang dicatat oleh Hidde de Vries, tidak semua orang yang mengandalkan gaya fokus menggunakan keyboard dan membuat gaya fokus hanya keyboard menghilangkan keterjangkauan bagi pengguna mouse juga, karena fokus juga menunjukkan bahwa ada sesuatu yang interaktif (terima kasih kepada Jason Webb untuk tipnya!) .

Terakhir, perlu diperhatikan bahwa baru-baru ini Chrome, Edge, dan browser berbasis Chromium lainnya berhenti menampilkan indikator fokus ( ring fokus ) saat pengguna mengklik atau mengetuk tombol (terima kasih kepada Kim Johannesen atas tipnya!) .

Pelengkapan Otomatis yang Dapat Diakses

Setiap kali Anda harus berurusan dengan kumpulan data yang lebih besar, baik itu peta, visualisasi data, atau hanya pemilih negara saat checkout, pelengkapan otomatis dapat meningkatkan masukan pelanggan secara besar-besaran. Tetapi sama seperti membantu dengan input, itu perlu membantu dengan mengumumkan opsi dan pilihan kepada pengguna pembaca layar juga.

Komponen JavaScript pelengkapan otomatis yang dapat diakses sepenuhnya yang mengikuti praktik terbaik WAI-ARIA.

Gov.uk, tim di belakang Government Digital Service di Inggris, memiliki sumber terbuka yang dapat diakses-autocomplete (di antara banyak hal lainnya), komponen JavaScript yang mengikuti praktik terbaik WAI-ARIA. Anda dapat memilih kapan harus mulai menampilkan saran, dan memungkinkan untuk menampilkan menu sebagai hamparan yang diposisikan secara mutlak, atau memilih saran pertama secara default. Tim juga menyediakan halaman demo, dengan selusin contoh dan implementasi pelengkapan otomatis yang dapat diakses.

Tombol dan Tautan Ikon yang Dapat Diakses

Tidak jarang memiliki tautan atau tombol yang secara visual tidak memiliki teks tetapi hanya terdiri dari ikon — bilah navigasi yang ringkas, misalnya, atau ikon sosial. Tetapi bagaimana Anda memastikan bahwa tautan ikon semacam ini dapat diakses sepenuhnya? Ternyata, tidak semudah yang dibayangkan.

Tautan ikon yang dapat diakses
Contoh kode dari pos di tautan ikon yang dapat diakses oleh Kitty Giraudel. (Pratinjau besar)

Untuk menunjukkan bagaimana kami dapat melakukan yang lebih baik, Kitty Giraudel mendedikasikan sebuah artikel "Tautan Ikon yang Dapat Diakses" untuk masalah ini. Mereka menggunakan tautan ikon yang terdiri dari SVG dengan burung Twitter ikonik untuk mengilustrasikan poinnya, dan menunjukkan langkah demi langkah bagaimana membuatnya dapat diakses: dengan teks deskriptif yang tersembunyi secara visual, lalu menghapus markup SVG dari pohon aksesibilitas dengan aria-hidden , dan, terakhir, mengoreksi fakta bahwa elemen svg dapat difokuskan pada Internet Explorer dengan menambahkan focusable yang dapat difokuskan. Di akhir artikel, Kitty juga menunjukkan cara mengubah semua ini menjadi komponen React kecil.

Detail kecil yang akan membuat perbedaan besar bagi banyak pengguna.

(Pratinjau besar)

Dalam Membuat Tombol Ikon yang Dapat Diakses dan Tersembunyi Secara Inklusif, Sara Soueidan dan Scott O'Hara membahas semua seluk-beluk dan detail tombol ikon, menjelajahi sejumlah teknik untuk membuatnya berfungsi. Sara dan Scott mengeksplorasi sejumlah teknik, menyarankan untuk menggunakan teknik yang sesuai untuk teks tersembunyi yang dapat diakses secara visual — teks yang akan disembunyikan secara visual tetapi dapat diakses oleh pembaca layar. Ini dapat dilakukan dengan kelas utilitas .sr-only , atau hidden dan aria-labelledby , atau aria-label saja. Sara tidak akan merekomendasikan untuk menggunakan ikon SVG itu sendiri untuk memberikan label untuk tombol ketika saya dapat memberikannya pada tombol itu sendiri secara langsung.

Namun secara umum, masih ada sedikit kebingungan elemen mana yang digunakan untuk interaksi pengguna: kapan kita menggunakan tautan, dan kapan kita menggunakan tombol? Marcy Sutton telah menulis bagian terperinci tentang Tautan vs. Tombol dalam Aplikasi Modern. Dengan tautan, pengunjung menavigasi ke sumber daya baru, menjauhkan mereka dari konteks saat ini. Tetapi sebuah tombol meminta perubahan pada antarmuka.

Ketika tombol bukan tombol: panduan oleh Vadim Makeev tentang Majalah Anda yang benar-benar Smashing. (Pratinjau besar)

Marcy menguraikan kasus penggunaan untuk tautan dan tombol dalam aplikasi satu halaman, menunjukkan bahwa tombol adalah elemen yang sempurna untuk membuka jendela modal, memicu pop-up, mengaktifkan antarmuka, atau memutar konten media. Anda juga dapat memeriksa artikel Vadim Makeev tentang "Kapan Tombol Bukan Tombol?".

Tombol Penyandang Cacat yang Dapat Diakses

Sudah menjadi hal yang umum untuk formulir web yang panjang untuk membuat tombol "Lanjutkan" dinonaktifkan sampai pelanggan memberikan semua data dengan benar. Perilaku ini bertindak sebagai indikator bahwa ada sesuatu yang salah dengan formulir, dan tidak dapat diselesaikan tanpa meninjau input. Ini berfungsi jika validasi sebaris untuk setiap bidang input berfungsi dengan baik, dan tidak berfungsi sama sekali saat bermasalah atau bermasalah.

Tombol yang Dinonaktifkan
Alternatif untuk tombol yang dinonaktifkan, oleh Jordan Moore. (Pratinjau besar)

Dalam "Tombol yang Dinonaktifkan Suck", Hampus Sethfors menyoroti kelemahan tombol yang dinonaktifkan. Dengan mereka di tempat, kami berkomunikasi bahwa ada sesuatu yang salah, tetapi kami tidak benar-benar menjelaskan apa yang salah, atau bagaimana memperbaikinya. Jadi, jika pelanggan mengabaikan pesan kesalahan — baik itu dalam bentuk panjang di desktop, atau bahkan dalam bentuk singkat di seluler, mereka akan hilang. Dalam banyak hal, menjaga tombol tetap aktif dan mengkomunikasikan kesalahan lebih efisien.

Dan jika tidak memungkinkan, setidaknya berikan jalan keluar dengan tombol “Saya tidak bisa mengisi formulir, mohon bantuannya”, sehingga customer support dapat menghubungi kembali pelanggan jika mengalami masalah. Jika Anda membutuhkan penyegaran yang lebih mendetail tentang formulir web, “Desain Formulir Dari Satu ke Nol” akan membuat Anda sibuk.

Dalam artikelnya tentang CSS-Tricks, Sandrina Pereira mengeksplorasi masalah bahwa cara umum menggunakan <button disabled> tidak hanya mencegah klik tetapi juga fokus. Meskipun ini mungkin tampak tidak berbahaya, hal ini menyebabkan kebingungan bagi pengguna pembaca layar. Sarannya: Bertukar disabled dengan aria-disabled membuat pengalaman lebih menyenangkan karena tombol masih dapat diakses oleh fokus dan juga dapat memicu tooltip — meskipun ditandai dinonaktifkan.

Kartu yang Dapat Diakses

Kartu menawarkan banyak keuntungan. Mereka bekerja dengan baik di seluler, menyediakan area klik yang besar, dan fakta bahwa mereka dapat ditumpuk baik secara horizontal maupun vertikal membuat banyak keputusan tata letak menjadi lebih mudah. Namun, tidak ada standar aksesibilitas yang harus diikuti, tidak ada elemen <card> atau pola desain ARIA. Sebaliknya, hambatan aksesibilitas potensial yang mungkin Anda temui bergantung pada tujuan dan konten kartu. Dalam koleksi komponen inklusifnya, Heydon Pickering melihat beberapa permutasi dari komponen kartu sederhana dan bagaimana menjaga keseimbangan antara struktur HTML yang sehat dan interaksi ergonomis.

Komponen Kartu Inklusif
Tergantung pada tujuan kartu, ada berbagai hambatan aksesibilitas yang harus diwaspadai. (Pratinjau besar)

Adrian Roselli juga menulis artikel bagus yang membahas aspek kartu yang dapat dengan mudah berubah menjadi jebakan aksesibilitas utama: area klik besar. Mereka dapat membuat kontrol yang sangat bertele-tele saat pengguna menggunakan pembaca layar untuk menavigasinya; untuk pengguna suara, dapat membingungkan apa yang harus dikatakan untuk memilih ajakan bertindak. Adrian menunjukkan bagaimana sedikit perencanaan dapat memecahkan masalah ini.

Penyelaman mendalam lainnya ke dalam komponen kartu yang dapat diakses berasal dari tim di Nomensa: Dalam posting blog mereka, mereka melihat masalah umum seputar kartu dan memblokir tautan dan berbagi kiat berharga untuk membuat kartu Anda lebih mudah diakses — dengan memesan ulang konten untuk meningkatkan semantik, misalnya.

Korsel dan Penggeser Konten yang Dapat Diakses

Korsel yang dapat diakses terdengar seperti oxymoron — meskipun ada banyak skrip yang menyediakan fungsionalitas, hanya sedikit yang dapat diakses. Sekarang, tentu saja, ada penggeser rentang yang dapat diakses, tetapi komidi putar adalah komponen yang sedikit berbeda. Seperti yang diperhatikan Alison Walden dalam artikelnya tentang "Jika Anda harus menggunakan carousel, buatlah itu dapat diakses", orang yang melihat tidak dipaksa untuk menggunakan carousel sama sekali, tetapi pengguna keyboard dipaksa untuk menavigasi melalui carousel secara keseluruhan. Paling tidak, tautan "lewati" tersembunyi dapat muncul di fokus keyboard. Selain itu, setelah orang tersebut menelusuri semua set panel, fokus harus berpindah ke elemen interaktif berikutnya yang mengikuti korsel.

Menunjukkan jalur pengguna pembaca layar dalam mode jelajah, ke penggeser dan dari satu item ke item berikutnya
Menunjukkan jalur pengguna pembaca layar dalam mode jelajah, ke penggeser dan dari satu item ke item berikutnya (Pratinjau besar)

Heydon Pickering menyarankan untuk menggunakan markup daftar untuk mengelompokkan slide, menyertakan tombol sebelumnya dan berikutnya, titik jepret, dan gunakan item terkait yang tidak terlihat yang dihapus dari fokus. Artikel ini juga menyediakan contoh kode yang menggunakan IntersectionObserver, jadi Anda mungkin memerlukan polyfill untuk itu.

Lebih banyak setelah melompat! Lanjutkan membaca di bawah ini

Tombol Tutup yang Dapat Diakses

Tombol "Tutup" ada di mana-mana — dalam modal, iklan, pesan konfirmasi, permintaan cookie, dan hamparan apa pun yang akan muncul di antarmuka Anda. Sayangnya, fungsinya sering kali terbatas pada pengguna mouse, sehingga pengguna pembaca layar dan pengguna keyboard tidak dapat mengaksesnya. Kita bisa memperbaikinya.

(Pratinjau besar)

Dalam “Tombol Tutup yang Dapat Diakses” Manuel Matuzovic masuk ke detail mendalam yang menyoroti 11 contoh dan pola tombol tutup yang tidak dapat diakses serta 5 contoh tombol tutup yang berfungsi cukup baik. Cara termudah untuk memecahkan masalah adalah dengan menyediakan tombol dengan teks yang terlihat dan hanya ikon yang dapat diakses secara visual dan memastikan bahwa deskripsi oleh pembaca layar tidak tercemar oleh deskripsi ikon. Manuel juga memberikan contoh kode 5 tombol tutup yang dapat langsung Anda terapkan pada pekerjaan Anda.

Kotak Centang dan Tombol Radio yang Dapat Diakses

Masalah lama yang bagus: bagaimana kita menata kotak centang dan tombol radio untuk memastikan bahwa keduanya terlihat, yah, setidaknya serupa, di sebagian besar browser — sambil memastikan bahwa keduanya tetap dapat diakses juga? Dalam artikelnya, Sara Soueidan membahas beberapa teknik yang perlu diingat untuk mencapai hasil yang diinginkan.

Sara membahas berbagai teknik untuk menyembunyikan elemen, bagaimana masing-masing memengaruhi aksesibilitas konten, dan cara menyembunyikannya secara visual, sehingga dapat diganti dengan alternatif yang lebih gaya: SVG.

Styling Kotak Centang Dan Tombol Radio Di CSS
Styling Kotak Centang Dan Tombol Radio Di CSS (Pratinjau besar)

Saat menyembunyikan elemen interaktif, kita perlu memastikan bahwa kita memilih teknik penyembunyian yang membuatnya tetap dapat diakses oleh pembaca layar, menempatkannya di atas apa pun yang menggantikannya secara visual, sehingga pengguna yang menavigasi dengan sentuhan dapat menemukannya di tempat yang mereka harapkan, dan kemudian membuatnya transparan. Sara juga menyediakan demo langsung yang dapat kita gunakan segera, bersama dengan referensi artikel yang berguna untuk bacaan lebih lanjut.

Sistem Warna yang Dapat Diakses

Mendapatkan kontras warna yang tepat adalah bagian penting untuk memastikan bahwa tidak hanya orang dengan gangguan penglihatan yang dapat dengan mudah menggunakan produk Anda, tetapi juga orang lain ketika mereka berada di lingkungan dengan cahaya redup atau menggunakan layar yang lebih tua. Namun, jika Anda pernah mencoba membuat sendiri sistem warna yang dapat diakses, Anda mungkin tahu bahwa ini bisa menjadi tantangan.

Sistem warna untuk ikon yang terdiri dari sembilan warna
Sistem warna untuk ikon yang terdiri dari sembilan warna. (Pratinjau besar)

Tim di Stripe baru-baru ini memutuskan untuk mengatasi tantangan dan mendesain ulang sistem warna yang ada. Manfaat yang harus diberikan di luar kotak: lulus pedoman aksesibilitas, menggunakan warna yang jelas dan cerah sehingga pengguna dapat dengan mudah membedakan satu sama lain, dan memiliki bobot visual yang konsisten tanpa warna yang tampak lebih diprioritaskan dari yang lain. Jika Anda penasaran untuk mengetahui lebih lanjut tentang pendekatan mereka, posting blog mereka tentang sistem warna yang dapat diakses akan memberi Anda wawasan yang berharga.

Palet Warna yang Dapat Diakses

Menemukan rona atau bayangan warna yang sempurna bukan hanya soal selera tetapi juga aksesibilitas. Lagi pula, jika kontras warna kurang, suatu produk bisa, dalam kasus terburuk, bahkan menjadi tidak dapat digunakan oleh orang-orang dengan gangguan penglihatan. WCAG 2.0 level AA memerlukan rasio kontras minimal 4,5:1 untuk teks normal.) dan 3:1 untuk teks besar, dan WCAG 2.1 memerlukan rasio kontras minimal 3:1 untuk grafik dan komponen UI (seperti input formulir perbatasan). AAA memerlukan rasio kontras minimal 7:1 untuk teks normal dan 4,5:1 untuk teks besar. Pemeriksa kontras yang sangat mendetail untuk membantu Anda mendeteksi potensi jebakan sebelumnya berasal dari Gianluca Gini: Geenes.

astaga
Membuat palet warna yang dapat diakses dengan Geenes (Pratinjau besar)

Alat ini memungkinkan Anda mengotak-atik rentang rona dan saturasi dan menerapkan palet warna ke salah satu dari tiga mockup UI yang dapat dipilih. Setelah diterapkan, Anda dapat memicu berbagai jenis gangguan penglihatan untuk melihat bagaimana orang yang terpengaruh melihat warna dan, akhirnya, membuat keputusan yang tepat tentang nada terbaik untuk palet Anda. Untuk langsung menggunakan warna, cukup salin dan tempel kodenya atau ekspor ke Sketch. Anda juga dapat meniru kekurangan penglihatan di DevTools.

Memahami Gangguan Penglihatan

Anda mungkin pernah mendengar tentang protanopia, deuteranopia, atau glaukoma sebelumnya. Tetapi bagaimana orang-orang dengan gangguan penglihatan seperti ini benar-benar melihat kombinasi warna Anda? Alat Corey Ginnivan Who Can Use mensimulasikannya untuk Anda.

Siapa yang Dapat Menggunakan
Who Can Use mensimulasikan bagaimana pilihan warna Anda memengaruhi orang-orang dengan gangguan penglihatan. (Pratinjau besar)

Masukkan latar belakang dan warna teks dan alat menghitung rasio kontras serta penilaian WCAG untuk Anda. Untuk memanusiakan angka-angka yang agak abstrak ini, Who Can Use juga menunjukkan daftar jenis penglihatan yang berbeda, berapa banyak orang yang terpengaruh olehnya, dan, tentu saja, simulasi kombinasi warna Anda untuk setiap jenis. Pembantu kecil yang hebat untuk lebih memahami efek warna.

Komik yang Dapat Diakses

Saat kami menggunakan bentuk dan tata letak yang sedikit lebih rumit di web, terkadang tampaknya jauh lebih mudah untuk menyimpannya sebagai gambar latar depan atau latar belakang dan menyajikan gambar yang berbeda ke layar kecil dan besar. Ini berlaku untuk bagan dan grafik yang rumit serta komik lama yang bagus dengan gelembung yang berbicara, tetapi bagaimana jika kita dapat membayangkan kembali pengalaman itu sama sekali?

Aksesibilitas Komik
Aksesibilitas Komik (Pratinjau besar)

Comica11y adalah eksperimen oleh Paul Spencer yang bertujuan untuk mencapai pengalaman membaca komik online yang menyeluruh. Bagaimana jika kita dapat memiliki mode membaca yang berbeda untuk komik, misalnya dengan teks tertutup, manajemen fokus yang tepat untuk bernavigasi antar panel, mode kontras tinggi, filter buta warna SVG, gelembung terprogram, teks yang dapat dipilih dan diterjemahkan, dukungan LTR dan RTL, dan bahkan ukuran font yang dapat disesuaikan? Inisiatif luar biasa yang menunjukkan seberapa jauh kami dapat mengambil tantangan UI dan menggunakan web untuk sangat meningkatkan pengalaman.

Pustaka Komponen yang Dapat Diakses

Sementara banyak perpustakaan komponen yang kami buat mencoba untuk mencakup semua tersangka biasa (akordeon, tabel, korsel, drop-down, bersama dengan tipografi, warna, dan bayangan kotak), No Style Design System oleh Adam Silver difokuskan terutama seputar aksesibilitas dan formulir web.

Pustaka komponen yang dapat diakses No Style Design System, oleh Adam Silver.

Sebagai sistem yang dibuat untuk dan digunakan dalam bukunya tentang Pola Desain Bentuk, perpustakaan Adam menyediakan satu set komponen yang dapat diakses untuk semuanya, mulai dari pelengkapan otomatis, kotak centang, dan pengungkapan kata sandi hingga radio, kotak pilih, dan stepper. Sebagian besar dari mereka memiliki gaya CSS minimal dengan markup yang bersih dan mudah diakses.

Dan jika Anda membutuhkan komponen yang sedikit lebih canggih, Komponen Inklusif Heydon Pickering — kami menyebutkan beberapa contoh darinya di atas — telah membantu Anda: dengan tutorial komprehensif tentang kartu yang dapat diakses, tabel data, notifikasi, bilah geser, antarmuka tab, tip alat, menu, dan sakelar.

Perintah Persetujuan Cookie yang Dapat Diakses

Overlay dan pop-up selalu bermasalah. Tetapi terutama untuk pengguna pembaca layar, terkadang permintaan tersebut sangat sulit untuk ditangani untuk mengatur pengaturan apa pun atau bahkan mengonfirmasi penggunaan cookie di situs. Dalam ceramahnya selama 15 menit tentang “Pembaca layar dan persetujuan cookie”, Leonie Watson menjelaskan secara rinci pengalaman buruk yang dimiliki pop-up kepatuhan untuk aksesibilitas. Dalam beberapa kasus, pengguna melewati permintaan persetujuan tanpa menyadarinya, di kasus lain, permintaan tidak mungkin diterima, mengakibatkan ketidakmampuan untuk menggunakan situs sama sekali.

(Pratinjau besar)

Jadi bagaimana kita bisa membuat mereka lebih baik? Dalam spanduk Cookie dan aksesibilitas, Sheri Byrne-Haber menyoroti masalah umum yang biasanya dimiliki oleh permintaan cookie: mulai dari tampilan visual hingga jebakan fokus, tampilan dalam urutan tab, jenis penerimaan, dan format alternatif pengungkapan persetujuan. Quentin Bellanger memberikan contoh kode dasar modal persetujuan cookie dan tutorial bersamanya. Ada juga solusi open-source gratis: Osano Cookie Consent dan cookie-consent-box, tetapi mereka mungkin memerlukan beberapa pekerjaan aksesibilitas.

Status Navigasi Halaman Saat Ini yang Dapat Diakses

Warna adalah cara yang efektif untuk menyampaikan makna, tetapi selalu merupakan ide yang baik untuk memiliki indikator visual kedua untuk orang-orang dengan gangguan penglihatan atau juga kekurangan penglihatan warna. Ikon, misalnya. Callum Hart mengandalkan kombinasi warna/ikon untuk menunjukkan halaman yang sedang dibuka pengguna. Dalam posting blognya "Status Navigasi Halaman Saat Ini yang Dapat Diakses", ia berbagi wawasan berharga tentang pertimbangan di balik keputusan desain ini.

Toggle yang dapat diakses
Sebuah ikon memberikan indikator visual tambahan untuk mencerminkan halaman saat ini. (Pratinjau besar)

Dari menyejajarkan ikon SVG dalam HTML dan menggunakan aria-hidden untuk menyembunyikannya dari teknologi bantu hingga menggunakan ems alih-alih piksel dan menyampaikan konteks tambahan untuk pengguna pembaca layar dengan atribut aria-current , postingan ini memberikan pandangan mendalam tentang cara melayani keadaan navigasi yang benar-benar dapat diakses.

Panduan Lengkap Untuk Mode Gelap Di Web

Mode gelap dengan cepat menjadi preferensi pengguna dengan Apple, Windows, dan Google yang menerapkannya ke dalam sistem operasi mereka. Tapi bagaimana dengan mode gelap di web? Adhuham menulis panduan komprehensif untuk mode gelap yang menyelidiki berbagai opsi dan pendekatan untuk menerapkan desain mode gelap di web.

Mode terang dan gelap di DuckDuckGo
Mode terang dan gelap di DuckDuckGo (Pratinjau besar)

Untuk memulai, panduan ini melihat pertimbangan teknis yang diperlukan untuk menerapkan mode gelap, mencakup pendekatan berbeda untuk mengubah tema dan cara menyimpan preferensi pengguna sehingga preferensi tersebut akan diterapkan secara konsisten di seluruh situs dan pada kunjungan berikutnya. Kiat untuk menangani gaya agen pengguna dengan tag meta color-scheme membantu menghindari kemungkinan situasi FOIT.

Pertimbangan desain juga ditangani, tentu saja, dengan tip berharga untuk menyiapkan gambar, bayangan, tipografi, ikon, dan warna untuk mode gelap. Saat menggunakannya: untuk memastikan kami tidak secara tidak sengaja merusak kontras tinggi dalam mode, lihat Styling untuk mode Kontras Tinggi Windows ( terima kasih atas tipnya, Courtney Heitman! ).

Bagan Data yang Dapat Diakses

Visualisasi data adalah cara yang bagus untuk membuat informasi menonjol. Namun, mereka juga datang dengan tantangan aksesibilitas mereka sendiri. Ketika Sara Soueidan bekerja sama dengan SuperFriendly untuk membuat situs mikro yang dapat diakses untuk laporan tahunan Khan Academy, dia ingin memastikan bahwa cara data disajikan dan diterapkan semudah mungkin, terlepas dari bagaimana pengunjung menjelajahi situs. Solusinya: SVG.

Bagan dari laporan tahunan Khan Academy yang menunjukkan siswa sekolah umum AS berdasarkan tingkat pendapatan
Bagan dari laporan tahunan Khan Academy menunjukkan siswa sekolah umum AS berdasarkan tingkat pendapatan. (Pratinjau besar)

Dalam studi kasus tentang bagan data yang dapat diakses, Sara merangkum semua yang perlu Anda pertimbangkan saat Anda ingin membuat bagan dan visualisasi SVG Anda dapat diakses — dimulai dengan langkah terpenting dalam memilih teknik penyematan yang sesuai. Ini juga mencakup mengapa Anda harus menghindari mencoba membuat bagan SVG dapat diakses menggunakan peran ARIA dan mengapa Sara tidak memilih <figure> untuk menyematkannya. Panduan referensi yang fantastis. Plus: terutama pada grafik, kami juga dapat menggunakan label teks yang lebih mudah diakses, dan Sara juga membahasnya dalam artikel terpisah.

Visualisasi Data yang Dapat Diakses

Visualisasi data sering kali berisi informasi penting yang harus ditindaklanjuti oleh pengguna. Meskipun terkadang kita dapat menggunakan jumlah besar dengan kalimat pendek, visualisasi dapat membantu memahami perkembangan dan informasi dalam jumlah besar dengan lebih cepat. Tapi itu berarti informasi harus mudah dipahami, dan itu terutama mengacu pada pemilihan warna, cara informasi disajikan, label, legenda, serta pola dan bentuk. Dalam rangkaian artikel mereka tentang aksesibilitas dalam visualisasi data, Sarah L. Fossheim menyoroti pedoman dan sumber daya yang berguna seputar topik, bersama dengan contoh, yang harus dan tidak boleh diingat saat merancang visualisasi data yang dapat diakses.

Warna seharusnya tidak menjadi satu-satunya petunjuk visual. Sebaiknya gunakan pola serta warna dalam bagan
Warna seharusnya tidak menjadi satu-satunya petunjuk visual. Sebaiknya gunakan pola serta warna dalam bagan. Melalui: Keen (Pratinjau besar)

Sarah menyarankan untuk tidak mengandalkan warna untuk menjelaskan data, dan menghindari warna terang dan kontras rendah secara umum. Menggunakan pola dan bentuk selain warna berguna, dan bahasa, label, dan legenda yang jelas dapat membantu menjelaskan visualisasi data dengan jelas. Setiap artikel dikemas dengan banyak contoh dan sumber daya untuk dibaca lebih lanjut. Juga patut diperiksa: ulasan Sarah tentang visualisasi data pemilihan presiden AS ( terima kasih kepada Stephanie Eckles untuk tipnya! ).

Pemilih Tanggal yang Dapat Diakses

Ada lusinan pustaka pemilih tanggal di luar sana, tetapi selalu bagus untuk memiliki pekerja keras yang andal yang hanya bekerja di seluruh browser, tidak memiliki ketergantungan yang berat, ditulis dengan cukup baik, dan memenuhi semua persyaratan aksesibilitas utama.

Perpustakaan Pemilih Tanggal yang Andal
Pustaka Pemilih Tanggal yang Andal (Pratinjau besar)

Duet Date Picker memang seperti itu. Ini adalah pemilih tanggal yang sesuai dengan WCAG 2.1 yang dapat diakses dan dapat diimplementasikan dan digunakan di semua kerangka kerja JavaScript atau tanpa kerangka kerja sama sekali. Muncul dengan fungsionalitas built-in yang memungkinkan Anda untuk mengatur tanggal minimum dan maksimum yang diizinkan, dan beratnya sekitar 10kb yang diperkecil dan di-Gzip (ini termasuk semua gaya dan ikon).

Jika Anda memerlukan alternatif, lihat React Dates, perpustakaan yang dirilis oleh Airbnb yang dioptimalkan untuk internasionalisasi, selain juga dapat diakses dan ramah seluler.

Penataan Pembagi Horizontal

Elemen <hr> biasanya cukup membosankan. Garis horizontal polos yang memberikan jeda visual dan membagi konten. Tapi tahukah Anda bahwa mereka dapat ditata menggunakan CSS dan SVG untuk memberikan konten dan desain Anda sentuhan pribadi yang bagus?

Garis horizontal yang ditata seperti burung di atas kawat.
<hr> ditata seperti burung di atas kawat. (Pratinjau besar)

Sara Soueidan melakukan persis seperti itu: <hr> s di situs pribadinya tidak ditampilkan sebagai garis yang membosankan, sebaliknya, Anda akan melihat burung duduk di atas kawat. Untuk membantu Anda membuat <hr> Anda lebih menyenangkan juga, Sara merangkum bagaimana dia menata garis horizontal dengan bantuan beberapa keajaiban CSS dan SVG. Dia juga mencari cara untuk lebih meningkatkannya sehingga mereka beradaptasi dengan berbagai konteks sambil tetap semantik dan dapat diakses. Sebuah detail kecil yang bagus.

Gaya Formulir Lintas-Browser yang Dapat Diakses

Pernahkah Anda kesulitan menyembunyikan dan menata kotak centang dan tombol radio khusus? Bagaimana dengan gaya pilih khusus? Atau mungkin menu navigasi tarik-turun yang dapat diakses? Kami cenderung membangun dan membangun kembali komponen yang sama setiap saat, jadi mari kita perbaiki semuanya.

(Pratinjau besar)

“<select> your poison” Sarah Higley adalah dua bagian yang komprehensif menyelami semua tantangan dan kerumitan penataan elemen <select> , dengan varian yang dapat diedit dan multi-pilih, kegunaan komparatifnya (dengan data!) dan rekomendasi praktis tentang bagaimana melakukannya dengan benar.

Solusi CSS Modern Stephanie Eckles untuk Masalah CSS Lama menyoroti banyak teknik modern yang berguna untuk memecahkan banyak tantangan, tetapi beberapa artikel dari serinya didedikasikan untuk formulir: kotak centang kustom CSS, tombol radio bergaya, gaya pilih, input, dan area teks.

Di blognya, Sara Soueidan menjelaskan secara rinci cara menyembunyikan dan menata kotak centang dan tombol radio secara inklusif. Bonus: Contoh kode Adrian Roselli memberikan wawasan tambahan tentang matikan yang tidak direkayasa. Sumber daya yang fantastis untuk digunakan segera dan bentuk gaya dapat diakses.

Menyembunyikan Konten Secara Bertanggung Jawab

Bagaimana Anda menyembunyikan konten secara bertanggung jawab agar tidak terlihat tetapi tetap dapat diakses oleh pembaca layar? Kitty Giraudel merangkum berbagai cara menyembunyikan sesuatu, baik itu dengan HTML atau CSS, dan kapan harus menggunakannya.

Menyembunyikan Konten Secara Bertanggung Jawab
Tinjauan tentang berbagai metode menyembunyikan konten. (Pratinjau besar)

Seperti yang disarankan Kitty, Anda mungkin ingin menghindari terlalu banyak perbedaan antara konten visual dan konten dasar yang terpapar ke lapisan aksesibilitas. Semakin mereka sinkron, semakin baik. Kitty mendefinisikan tiga skenario berbeda untuk membantu Anda menilai kapan harus menggunakan teknik mana: Jika Anda perlu menyembunyikan sesuatu baik secara visual maupun dari pohon aksesibilitas (tampilkan/sembunyikan widget, navigasi di luar layar, atau dialog tertutup, misalnya), gunakan display: none atau atribut HTML hidden . Jika Anda perlu menyembunyikan sesuatu dari pohon aksesibilitas tetapi tetap membuatnya terlihat, gunakan aria-hidden="true" (kasus yang valid adalah konten visual tanpa makna, ikon). Dan, last but not least, jika Anda ingin menyembunyikan sesuatu tetapi tetap dapat diakses, gunakan grup deklarasi CSS yang tersembunyi secara visual (misalnya, untuk konten pelengkap yang menyediakan lebih banyak konteks, seperti tombol ikon atau tautan). Ikhtisar yang bagus.

Catatan Kaki dan Catatan Samping yang Dapat Diakses

Pada intinya, catatan kaki tidak lebih dari tautan lompat — tautan ke deskripsi sumber, baik ditempatkan di bagian bawah dokumen, atau di bilah sisi, atau muncul sebaris, akordeon kecil. Namun, karena catatan kaki adalah tautan lompat, kami perlu memastikan bahwa pengguna pembaca layar memahami kapan tautan adalah referensi ke catatan kaki — dan kami dapat melakukannya dengan atribut aria-describedby . Penghitung untuk setiap tautan akan diimplementasikan melalui penghitung CSS. Dengan :target , kami kemudian menyorot baris tempat pembaca telah melompat, dan kami menyediakan back-link kembali ke tempat catatan kaki yang sebenarnya di konten.

Catatan kaki sebaris di situs web Harvard Law Review. (Pratinjau besar)

Kitty Giraudel menjelaskan secara rinci cara membuat catatan kaki yang dapat diakses, dan Anda juga dapat memeriksa cara membuat catatan kaki yang dapat diakses dengan React dan menggunakan react-a11y-footnotes untuk membuatnya di React dengan Eleventy (terima kasih kepada Kitty Giraudel untuk tipnya!) .

Masukan yang Dapat Diakses

Pada tahun 2019, WebAIM menganalisis aksesibilitas satu juta situs web teratas, dengan kesimpulan yang mengejutkan: persentase halaman bebas kesalahan diperkirakan di bawah satu persen. Untuk membuat situs kami inklusif dan dapat digunakan oleh orang-orang yang mengandalkan teknologi bantu, kami perlu menguasai dasar-dasar HTML semantik dengan benar. Dengan kredonya untuk memulai dari yang kecil, berbagi, dan bekerja sama, artikel Oscar Braunert tentang masukan inklusif adalah titik awal yang bagus untuk melakukannya.

Masukan Inklusif
Input Inklusif (Pratinjau besar)

Dimulai dengan dasar-dasar WAI, ARIA, dan WCAG, artikel ini membahas cara membuat input lebih mudah diakses. Kiat dapat diterapkan tanpa mengubah antarmuka pengguna, dan, seperti yang dikatakan Oscar: “Jika ragu, lakukan saja. Tidak ada yang akan memperhatikan. Kecuali beberapa pengguna Anda. Dan mereka akan berterima kasih untuk itu.”

Tautan Sempurna

Tautan adalah tautan adalah tautan, bukan? Nah, ada lebih banyak tautan dari sekadar kata atau gambar yang dapat diklik. Dengan artikelnya “Tautan yang sempurna”, Rian Rietveld membahas cara menulis, mendesain, dan mengkodekan tautan yang berfungsi untuk semua orang di setiap perangkat.

Rian Rietveld menjelaskan cara membuat tautan dapat diakses dan bermakna bagi semua orang.
Rian Rietveld menjelaskan cara membuat tautan dapat diakses dan bermakna bagi semua orang. (Pratinjau besar)

Rian membahas pertanyaan apakah tautan harus terbuka di jendela baru atau tab baru, bagaimana membuat teks tautan dapat dimengerti, bagaimana menangani tautan ke alamat email, nomor telepon atau file, apa yang perlu Anda pertimbangkan saat menyematkan gambar di tautan, kapan harus menggarisbawahinya dan bagaimana menangani gaya melayang dan fokus, serta masalah semantik dan tautan internal. Pandangan 360 derajat pada topik.

Navigasi Keyboard Seluruh Aplikasi yang Dapat Diakses

Konsep yang dipikirkan dengan matang untuk navigasi keyboard bermanfaat bagi semua orang: Ini memungkinkan orang yang tidak dapat menggunakan mouse dengan nyaman, membantu pengguna pembaca layar dalam berinteraksi dengan aplikasi, dan memberi pengguna yang kuat lebih banyak pintasan untuk bekerja seefisien mungkin. Biasanya, dukungan keyboard terbatas pada pintasan tertentu, tetapi tim di Discord memutuskan untuk melangkah lebih jauh dengan aplikasi mereka dan memperluas dukungan keyboard ke, yah, semuanya.

Bagaimana Discord Menerapkan Navigasi Keyboard di Seluruh Aplikasi
Bagaimana Discord Menerapkan Navigasi Keyboard di Seluruh Aplikasi (Pratinjau besar)

Studi kasus "Bagaimana Discord Menerapkan Navigasi Keyboard Seluruh Aplikasi" berbagi wawasan berharga tentang bagaimana mereka menangani tugas — dan tantangan yang mereka hadapi di sepanjang jalan, tentu saja. Satu ternyata sangat sulit: Bagaimana cara secara konsisten menunjukkan di mana fokus pada halaman? Karena solusi yang ada untuk Focus Rings tidak berhasil, tim harus membangun solusi mereka sendiri dari awal dan membuat kodenya menjadi open source. Jika Anda menghadapi tantangan serupa, ini untuk Anda.

Menu Ketuk/Klik yang Dapat Diakses

Apakah masih merupakan ide bagus untuk mendesain bukaan mega-drop-down saat melayang? Mungkin tidak. Menu hover memiliki banyak masalah kegunaan dan aksesibilitas, karena tidak konsisten, membingungkan, dan tentu saja membutuhkan solusi alternatif untuk perangkat seluler. Faktanya, Mark Root-Wiley menyarankan bahwa sudah waktunya untuk menjatuhkan menu arahkan ke menu klik yang tidak ambigu dan dapat diakses.

(Pratinjau besar)

Dalam artikelnya, Mark membahas detail yang bagus tentang cara membuat menu klik yang dapat diakses, bersama dengan petunjuk dan referensi yang berguna dari penelitiannya. Idenya adalah untuk mulai membangun menu sebagai menu hover khusus CSS yang menggunakan li:hover > ul dan li:focus-within > ul untuk menampilkan submenu. Kemudian, kita menggunakan JavaScript untuk membuat elemen <button> , mengatur atribut aria , dan menambahkan event handler. Hasil akhir tersedia sebagai contoh kode di CodePen dan sebagai repo GitHub. Ini juga harus menjadi titik awal yang baik untuk menu Anda.

Komponen Penggulung Media yang Dapat Diakses

Bagaimana cara Anda membuat komponen scroller media responsif yang berfungsi di TV, ponsel, dan desktop? Adam Argyle membawa Anda melalui proses langkah demi langkah.

Komponen penggulung media responsif Adam Argyle menyediakan pengalaman yang mulus.
Komponen scroller media responsif Adam Argyle memberikan pengalaman yang mulus. (Pratinjau besar)

Dirancang untuk meng-host thumbnail media atau produk, komponen scroller dibangun di atas <ul> dengan markup yang dapat diakses. CSS mengubah daftar sederhana menjadi pengalaman gulir halus yang menampilkan gambar dan memasukkannya ke dalam kotak. Untuk menambahkan beberapa kemahiran, JavaScript memfasilitasi interaksi indeks keliling, membantu pengguna keyboard melewati melintasi sejumlah besar item, dan, yang tak kalah pentingnya, kueri media preferensi prefers-reduced-data eksperimental mengubah penggulung media menjadi pengalaman yang ringan, jika perlu . Cerdik!

Modal yang Dapat Diakses

Anda mungkin memiliki modal atau overlay sederhana pada halaman, mungkin untuk mengonfirmasi masukan pelanggan, atau untuk menampilkan beberapa foto di galeri, atau hanya untuk mengonfirmasi preferensi pengguna. Dalam semua kasus ini, membangun modal yang dapat diakses akan menjadi petualangan yang menyenangkan, juga dikenal sebagai jebakan fokus .

Seperti yang dijelaskan Eric Bailey secara mendetail, Anda harus mengidentifikasi batas konten yang terperangkap, termasuk item yang dapat difokuskan pertama dan terakhir, lalu menghapus semua yang tidak ada di dalamnya, memindahkan fokus ke konten yang terperangkap, mendengarkan peristiwa yang keluar batas, pulihkan keadaan sebelumnya dan pindahkan fokus kembali ke elemen interaktif yang memicu konten yang terperangkap.

Modals yang Dapat Diakses tidak mudah dibuat. Eric Bailey menjelaskan secara rinci cara kerjanya
Modals yang Dapat Diakses tidak mudah dibuat. Eric Bailey menjelaskan secara rinci cara kerjanya. (Pratinjau besar)

Idealnya, kami akan menggunakan sesuatu yang sederhana seperti elemen dialog dalam HTML, tetapi sayangnya ini memiliki masalah aksesibilitas yang sangat besar. Dengan Shadow DOM, mengelola fokus juga tidak mudah. Kita dapat menggunakan atribut inert untuk menghapus, dan kemudian mengembalikan kemampuan elemen interaktif untuk ditemukan dan difokuskan. Untuk browser lama, kita dapat menggunakan polyfill inert dari Google Chrome dan dari WICG.

  • Access-modal-window Scott O'Hara adalah skrip yang dapat diakses sepenuhnya yang andal untuk digunakan.
  • Kitty Giraudel akan segera merilis dialog 11y Next, skrip ringan (1,6 KB) yang menjebak dan mengembalikan fokus, mengaktifkan atribut aria–* dan menutup dialog pada klik overlay dan Escape. Penting untuk tidak membingungkan versi ini dengan versi sebelumnya (6.1.0) karena ini bergantung pada <dialog> yang masih kurang dalam dukungan implementasi, dan masih memiliki masalah aksesibilitas.
  • Anda dapat melihat Parvus, lightbox gambar sumber terbuka yang sederhana, dapat diakses, tanpa ketergantungan. Dalam skenario umum, kami akan memiliki gambar yang ditautkan ke versi gambar yang lebih besar. Dengan Parvus, cukup menambahkan kelas .lightbox ke tautan yang membungkus gambar, dan skrip melakukan segalanya untuk Anda secara otomatis.

Bidang Kata Sandi yang Dapat Diakses

"Tampilkan kata sandi" dan petunjuk kata sandi membuat bidang formulir lebih bermanfaat. Mereka membantu pengguna mengetahui apakah mereka salah mengetik kata sandi mereka serta pola apa yang dapat diterima ketika mereka membuat yang baru. Namun, ternyata, aksesibilitas seringkali kurang dalam hal ini.

Bidang kata sandi yang dapat diakses
Cara membuat bidang kata sandi dan petunjuk kata sandi dapat diakses. (Pratinjau besar)

Untuk membantu Anda memperbaiki situasi, Nicolas Steenhout melihat lebih dekat pada aksesibilitas tampilkan/sembunyikan kata sandi dan cara memastikan bahwa petunjuk kata sandi bermanfaat bagi semua orang. Dari meningkatkan tampilkan/sembunyikan tombol dengan peran switch dan aria-live dan aria-pressed hingga mendukung pelengkapan otomatis, Nicolas merangkum semua yang perlu Anda ketahui untuk membuat web sedikit lebih mudah diakses dalam hal ini.

Mendukung Preferensi Pengguna Dengan preferensi prefers-reduced-*

Tidak setiap pengguna sama, dan sementara beberapa pengguna menyukai animasi, yang lain mungkin memiliki masalah medis terkait gerakan. Kueri media preferensi prefers-reduced-motion memungkinkan Anda mengaktifkan dan menonaktifkan animasi, tetapi ada lebih banyak solusi untuk mengelola animasi bergantung pada preferensi pengguna. Dalam posting blognya, Elijah Manor membahas berbagai teknik seperti @media, matchMedia, dan kait React khusus untuk menangani animasi CSS, SVG SMIL, dan JavaScript.

Gunakan kueri media dengan gerakan yang dikurangi untuk mengaktifkan animasi CSS dan JavaScript
Gunakan kueri media preferensi-reduksi-gerak untuk mengaktifkan CSS dan animasi JavaScript (Pratinjau besar)

Dalam hal membuat konten Anda dapat diakses oleh semua orang, ada kueri media lain yang prefers-reduced-* yang perlu diketahui — meskipun belum didukung oleh browser (tetapi Anda dapat menirunya di browser Polypane dan Chromium): prefers-reduced-data . Ini menunjukkan kapan pengguna ingin menggunakan data sesedikit mungkin — jika koneksi mereka lambat, misalnya, atau jika data terbatas.

  • Tatiana Mac telah menulis bagian yang sangat teliti tentang Mengambil pendekatan tanpa-gerakan-pertama untuk animasi, menyarankan untuk menempatkan semua gaya khusus animasi dalam lembar gaya khusus animasi dan menyajikannya hanya jika pengunjung belum menunjukkan "Kurangi gerakan".
  • Kitty Giraudel memberikan panduan tentang Menerapkan mode gerak yang dikurangi dalam contoh UI perbankan dan contoh kode juga.
  • Tim Polypane merangkum apa yang perlu Anda ketahui tentang kueri media untuk membuktikan masa depan situs Anda hari ini.

Kerangka yang Dapat Diakses

Pola kerangka cenderung tidak memiliki cara yang berarti untuk menampilkan diri kepada pembaca layar. Mereka sering menggunakan aria-busy="true" saat widget sedang dimuat, tetapi hanya sedikit pembaca layar yang benar-benar menghormati atribut tersebut. Jadi bagaimana melakukan yang lebih baik?

Kerangka yang Lebih Mudah Diakses
Membuat kerangka dapat diakses. (Pratinjau besar)

Seperti yang disarankan Adrian Roselli, Anda dapat menggunakan CSS untuk menemukan simpul apa pun dengan aria-busy="true" dan menyetelnya ke display: none untuk mencapai efek yang sama bagi pengguna pembaca layar dan non-pembaca layar. Dalam artikelnya “Lebih Banyak Kerangka yang Dapat Diakses”, ia membawa Anda melalui proses langkah demi langkah. Demo ini berfungsi di seluruh browser dengan rilis JAWS, NVDA, VoiceOver, dan TalkBack saat ini.

Tautan "Lewati" yang Dapat Diakses

Terutama pada halaman dengan banyak navigasi, berpindah antar bagian atau di sekitar halaman dapat membuat frustasi dan mengganggu. Di situlah tautan "Lewati" bisa sangat membantu. Sayangnya, tidak jarang melihat tautan "Lewati" diterapkan tetapi disembunyikan dengan display: none , dan dengan demikian, tidak tersedia untuk siapa pun (termasuk pengguna pembaca layar dan pengguna keyboard).

(Pratinjau besar)

Dalam Cara Membuat Tautan “Lewati konten”, Paul Ryan memberikan tutorial langkah demi langkah tentang cara menerapkan tautan lewati konten yang dapat diakses. Pada dasarnya kami menggunakan transformasi CSS untuk mendorong tautan lewati dari layar, tetapi membawanya kembali ke layar pada :focus . Dalam komentar artikel tersebut, Eric Bailey juga memperhatikan bahwa kami dapat menyediakan tautan lewati sebelum bagian konten yang berisi banyak item interaktif, atau item yang sulit dinavigasi (seperti daftar isi dan iframe ).

SVG yang dapat diakses

Berbicara tentang SVG: apa yang dapat kita lakukan dengan SVG saat ini jauh melampaui bentuk dasar sebelumnya. Kami tidak hanya dapat mendeskripsikan ikon SVG, tetapi juga menata dan menganimasikannya. Jika inklusivitas sejati berada di luar pola — faktor apa lagi yang harus kita pertimbangkan saat merancang dan mengembangkan SVG yang dapat diakses?

Itulah pertanyaan yang dijawab Carie Fisher dalam karyanya tentang Accessible SVGs: Inclusiveness Beyond Patterns. Dalam artikel tersebut, Carie melihat lebih dekat warna dan kontras SVG, mode terang dan gelap, animasi SVG, pengurangan gerakan, dan banyak alat yang berfokus pada aksesibilitas. Anda juga akan menemukan demo dan contoh kode di artikel, bersama dengan penjelasan rinci dan petunjuk untuk bacaan lebih lanjut.

(Pratinjau besar)

Dan jika Anda ingin menyelam lebih dalam ke dunia kompleks komponen yang dapat diakses — tidak hanya terkait dengan SVG — kami baru saja menerbitkan karya Carie tentang pola kode yang dapat diakses.

Tab yang Dapat Diakses

Antarmuka Anda mungkin menggunakan panel tab, tetapi agar konten tab ini dapat diakses oleh pengguna keyboard dan pembaca layar, kami memerlukan eksposisi desain visual dan semantik ARIA yang sangat hati-hati dan disengaja. Di Tabbed Interfaces, Heydon Pickering masuk ke detail mencoba mencari solusi yang tepat untuk menghormati perilaku keyboard dan manajemen fokus. Dia menyarankan untuk secara progresif meningkatkan bagian menjadi panel tab (contoh kode) (terima kasih kepada Daniela Kubesch untuk tipnya!).

Menunjukkan bagaimana pengguna dapat memilih tab baru dengan tombol panah atau tekan tab untuk masuk ke panel tab dan memfokuskan tautan
Menunjukkan bagaimana pengguna dapat memilih tab baru dengan tombol panah atau tekan tab untuk masuk ke panel tab dan memfokuskan tautan (Pratinjau besar)

Seperti yang dicatat Adam Silver, pengguna pembaca layar yang kurang paham mungkin tidak tahu menggunakan tombol panah untuk berpindah tab. Ada argumen untuk membuat semua tab dapat difokuskan dalam urutan tab normal dengan sedikit intervensi dari pengembang untuk mengubah cara kerja tab melalui keyboard.

Atau, TabPanelWidget adalah solusi responsif dan dapat diakses untuk tab. Itu bergantung pada HTML semantik lama biasa, dan berubah menjadi akordeon setiap kali tab tidak dapat memuat sepenuhnya (terima kasih kepada ResizeObserver tetapi ada polyfill untuk browser yang belum mendukungnya).

Tab yang Dapat Diakses
Tab yang Dapat Diakses (Pratinjau besar)

Skrip bukan hanya solusi semantik dan dapat diakses, tetapi juga responsif dan serbaguna untuk membantu Anda membuat widget Tabpanel dan akordeon untuk web. Ini ramah keyboard dan tersedia sebagai perpustakaan vanilla JS (atau sebagai widget untuk Vue, React, dan Angular).

Tabel yang Dapat Diakses

Ada banyak masalah aksesibilitas yang terkait dengan tabel, tetapi tantangan terbesarnya adalah mengubah representasi visual menjadi rangkaian linier yang akan dibacakan secara bermakna oleh pembaca layar, tanpa menghilangkan informasi penting apa pun. Untungnya, Adrian Roselli telah menghabiskan banyak waktu menjelajahi tantangan dan solusi dari tabel yang dapat diakses.

(Pratinjau besar)

Dalam postingnya di tabel yang dapat diakses, Adrian menyarankan untuk membungkus tabel dalam <div> dengan role="region" , aria-labelledby dan tabindex="0" untuk memastikan bahwa pengguna hanya keyboard dapat tab ke wadah, bahwa tabel menerima fokus dan <caption> di dalam tabel untuk memastikan bahwa itu diumumkan dengan benar ke pembaca layar. Adrian juga memberikan contoh kode untuk tabel responsif, serta tabel dengan baris yang dapat diperluas, tabel yang dapat diurutkan, dan header tabel tetap.

Bagaimana Pembaca Layar Menavigasi Tabel Data

Pernahkah Anda mencoba menavigasi tabel dengan pembaca layar? Jika tidak, Anda harus membaca artikel Leonie Watson tentang cara pembaca layar menavigasi tabel data. Ini berbagi wawasan berharga dan menunjukkan apa yang penting untuk membuat tabel bebas frustrasi yang dapat digunakan oleh siapa saja.

Tabel data yang menunjukkan rata-rata konsumsi teh dan kopi setiap hari
Tabel data yang menunjukkan rata-rata konsumsi teh dan kopi harian (Pratinjau besar)

Dalam postingan tersebut, Leonie menggunakan NVDA untuk berpindah ke tabel, menavigasi kontennya, dan menemukan informasi spesifik. Elemen HTML yang sesuai (atau peran ARIA) memberi tahu dia tentang karakteristik tabel dan memberinya akses ke perintah keyboard khusus untuk menavigasi konten tabel.

Kesimpulan yang menarik: Fokus keyboard dan fokus pembaca layar bukanlah hal yang sama. Bertentangan dengan apa yang mungkin Anda dengar, Anda tidak perlu membuat setiap sel tabel dapat difokuskan dengan keyboard untuk membantu navigasi. Jika konten di dalam sel non-interaktif, Anda mungkin akan membuat pengguna keyboard bekerja lebih keras untuk menavigasi tabel daripada yang Anda inginkan. Anda juga dapat menonton video Smashing TV dengan Leonie tentang Cara Pengguna Pembaca Layar Mengakses Web (73 menit).

Sakelar Toggle yang Dapat Diakses

Setiap kali formulir kami memberikan pilihan biner kepada pelanggan kami — hidup/mati, mode gelap/terang, dll. — kami dapat menggunakan sakelar sakelar. Sakelar perlu melayani beberapa tujuan: ia perlu menjelaskan dengan jelas pilihan saat ini (dan itu tidak terlalu sering sama sekali!), Ia perlu menjelaskan bahwa ada dua opsi, dan itu harus cukup jelas bagi pelanggan untuk memahami bagaimana untuk beralih di antara mereka. Ketika Sara Soueidan mencari cara membuat sakelar sakelar, tentu saja dia menghabiskan cukup banyak waktu untuk mempelajari cara membuat sakelar sakelar yang dapat diakses.

Penyesuai tema aplikasi Medium adalah panel sembulan sederhana yang mencakup sakelar sederhana untuk beralih dari mode terang ke gelap dan sebaliknya. Dari artikel Sara.
Penyesuai tema aplikasi Medium adalah panel sembulan sederhana yang mencakup sakelar sederhana untuk beralih dari mode terang ke gelap dan sebaliknya. Dari artikel Sara. (Pratinjau besar)

Solusi Sara menggunakan dua tombol radio, masing-masing dengan labelnya sendiri, diumumkan ke teknologi bantu sebagai beberapa opsi terpisah, dapat diakses melalui keyboard, dan tidak memiliki persyaratan ARIA atau JS tambahan untuk berfungsi. Hasilnya adalah contoh kode sakelar alih tema, dan Anda juga dapat melihat contoh kode Scott O'Hara.

Penting untuk dicatat bahwa sakelar sakelar tombol radio Sara dapat diakses karena dua labelnya. Jadi jika sakelar sakelar tidak memiliki dua label, ini tidak akan menjadi pola untuk digunakan. Anda dapat menemukan pola markup untuk sakelar sakelar di repo Scott. ( terima kasih kepada Scott O'Hara untuk tipnya! ).

Kitty Giraudel juga membagikan tutorial untuk implementasi kecil HTML dan CSS saja dari sakelar yang dapat diakses yang dapat Anda sesuaikan dengan kenyamanan Anda sendiri. Basis untuk sakelar yang dapat diakses adalah kotak centang yang diberi label dengan benar. Ini menyampaikan statusnya dengan ikonografi dan warna dan tidak meninggalkan artefak apa pun jika CSS tidak diaktifkan. Pengalih hadir dengan gaya fokus asli yang dapat dikustomisasi, status dinonaktifkan, dan juga mendukung orientasi kanan-ke-kiri, jika perlu.

Tooltips dan Toggletips yang Dapat Diakses

Komponen yang terkait erat dengan tombol ikon adalah tooltip. Secara harfiah "tips untuk alat", itu adalah potongan kecil informasi yang menjelaskan tujuan kontrol, atau visual, yang jika tidak dapat disalahpahami. Setiap kali kami ingin menjelaskan mengapa kami memerlukan informasi pribadi tertentu di kasir, di situlah kami mungkin akan menggunakan tooltip lama yang bagus. Jadi, bagaimana kita membuat mereka benar?

Contoh kiri mengatakan pemberitahuan dan memiliki label utama teks. Contoh yang tepat memiliki pemberitahuan tampilan yang lebih panjang dan mengelola teks pengaturan dan diberi keterangan deskripsi tambahan
Contoh kiri mengatakan pemberitahuan dan memiliki label utama teks. Contoh yang tepat memiliki teks pemberitahuan tampilan dan pengaturan pengaturan yang lebih panjang dan diberi keterangan deskripsi tambahan. Dari: Tooltips Inklusif dan Toggletips oleh Heydon Pickering. (Pratinjau besar)

Tooltips dan Toggletips Inklusif Heydon Pickering memberikan gambaran yang sangat menyeluruh tentang hampir semua yang diperlukan untuk membangun tooltip yang dapat diakses. Itu berarti memutuskan apakah konten tip harus diberikan sebagai label atau deskripsi dan memilih properti ARIA yang sesuai, tidak bergantung pada atribut title dan menghindari menempatkan konten interaktif seperti tombol tutup dan konfirmasi atau tautan di tooltips.

  • Sara Soueidan, tentu saja, juga masuk ke seluk-beluk membangun tooltip bantuan yang dapat diakses sepenuhnya dan menyimpulkan bahwa JavaScript sangat penting untuk membuat komponen interaktif yang dapat diakses sepenuhnya.
  • Sarah Higley juga menjelaskan kerumitan tooltips dan merilis contoh kode yang menunjukkan pola yang andal dalam tindakan.
  • Scott O'Hara memiliki repo GitHub di tooltips,
  • Adrian Roselli juga menyediakan banyak contoh kode untuk matikan, termasuk demo dengan tooltip yang dinonaktifkan dan arah RTL.

Pemutar Video/Audio yang Dapat Diakses

Bukan hal yang aneh untuk melihat pemirsa sering menggunakan teks saat menonton klip pendek atau film panjang akhir-akhir ini. Kami mungkin sedang menonton video di lingkungan yang bising, atau mungkin kami dapat lebih memahami bahasa tertulis, atau mungkin kami sedang sibuk dengan hal lain dan perlu mencari sesuatu dengan cepat tanpa harus menggunakan headphone. Selain itu, seberapa sering kita menggunakan <space> keyboard untuk meminta jeda, atau panah tombol untuk bergerak mundur dan maju? Namun, banyak pemutar video dan solusi khusus tidak menyediakan fungsionalitas ini di luar kotak.

(Pratinjau besar)

Pemutar Media HTML5 yang Dapat Diakses memberikan gambaran umum tentang pemutar audio dan video yang dapat diakses. Ada banyak pilihan sumber terbuka yang bagus, misalnya AblePlayer tampaknya menjadi salah satu yang dapat diandalkan. Ini mencakup set lengkap kontrol pemutar yang dapat diakses keyboard, diberi label dengan benar untuk pengguna pembaca layar , dan dapat dikontrol oleh pengguna pengenalan suara, menampilkan kontras tinggi, mendukung teks dan subtitel, bab, deskripsi audio berbasis teks, fitur transkrip interaktif dan penyorotan teks otomatis. Ini mendukung video YouTube dan Vimeo. Namun, itu tergantung pada jQuery.

Atau, Anda juga dapat melihat Vime.js: sumber terbuka sepenuhnya, ringan, dapat disesuaikan sepenuhnya, dan tanpa ketergantungan pihak ketiga . Opsi hebat lainnya seperti Plyr dan Pemutar Video HTML5 yang Dapat Diakses oleh PayPal serupa. Yang terakhir ini sepenuhnya dapat diakses oleh pengguna keyboard saja dan pengguna pembaca layar, yang ditulis dalam vanilla JavaScript, juga disediakan sebagai komponen React , dan kembali ke kontrol asli browser jika JavaScript tidak tersedia ( terima kasih atas tipnya, @jamsandwich ! ).

Fitur Situs Web yang Mengganggu Pengguna Pembaca Layar

Teks alternatif yang hilang, video yang diputar otomatis, tombol yang tidak berlabel, penggunaan judul yang buruk, formulir web yang tidak dapat diakses — apa yang mungkin tampak seperti masalah kecil bagi pengguna yang dapat melihat dapat membuat perbedaan antara dapat menggunakan situs web secara mandiri atau tidak untuk tunanetra dan orang dengan gangguan penglihatan. Holly Tuke mengetahui hal ini dari pengalamannya sendiri.

Hirarki heading - Dari heading 1 hingga heading 5
Hirarki judul. Dari heading 1 hingga heading 5. (Pratinjau besar)

Untuk meningkatkan kesadaran akan masalah aksesibilitas umum, Holly merangkum lima fitur situs web mengganggu yang dia hadapi sebagai pengguna pembaca layar setiap hari, dan, tentu saja, cara memperbaikinya. Chris Ashton juga menerbitkan artikel yang menjelaskan masalah umum yang dimiliki pengguna pembaca layar, yang sering diabaikan dalam percakapan yang berfokus pada semantik dan aksesibilitas keyboard saja. Detail kecil yang membuat perbedaan besar ( terima kasih kepada Alex Chudesnov untuk tipnya! ).

Tapi Pertama, Dukungan Aksesibilitas

Ada banyak cara berbeda yang digunakan teknologi bantu untuk berinteraksi dengan browser dan kode. Karena masih tidak mungkin untuk sepenuhnya mengotomatisasi pembaca layar dan perangkat lunak kontrol suara, kami harus melakukan tes manual. Dan di situlah a11ysupport.io berperan.

Dukungan Aksesibilitas
Dukungan Aksesibilitas (Pratinjau besar)

Awalnya dibuat oleh Michael Fairchild, situs web berbasis komunitas ini bertujuan untuk membantu menginformasikan pengembang tentang apa yang didukung aksesibilitas. Ini adalah proyek yang aktif dan kontribusi selalu diterima, jadi mulailah mengujinya. Juga, selalu ada baiknya memeriksa praktik penulisan WAI-ARIA yang menggambarkan semantik, peran, dan ARIA penting yang diperlukan untuk komponen dan pola umum (terima kasih kepada Stephanie Eckles untuk tipnya!) .

Sumber Daya dan Daftar Periksa Aksesibilitas

Aksesibilitas sangat penting, tetapi, sayangnya, sering diabaikan. Proyek A11Y berbasis komunitas berupaya membuat aksesibilitas digital lebih mudah, memberikan desainer dan pengembang pengetahuan yang mereka butuhkan untuk membangun pengalaman yang indah, mudah diakses, dan inklusif.

Proyek A11Y
Proyek A11Y (Pratinjau besar)

Dari prinsip dasar di balik desain yang dapat diakses hingga melakukan audit aksesibilitas, dan mengembangkan komunitas, The A11Y Project melihat topik tersebut secara 360 derajat. Anda akan menemukan artikel seperti kiat cepat, kiat tentang buku untuk dibaca, buletin untuk diikuti, serta alat praktis, grup yang berkomitmen untuk aksesibilitas, dan banyak lagi.

Repositori Alat Aksesibilitas

Apakah Anda pernah merasa gatal karena melupakan sesuatu sebelum mengirimkan proyek? Nah, daftar periksa dikenal sebagai kunci untuk menjaga gambaran umum tentang hal-hal yang perlu dilakukan dan diurus sebelum pertarungan terakhir. Dalam hal aksesibilitas, ada daftar alat dan sumber daya yang terus bertambah yang pasti akan membantu Anda mengawasi berbagai hal: Sumber Daya A11y.

Alat dan Sumber Daya Aksesibilitas
Alat dan Sumber Daya Aksesibilitas (Pratinjau besar)

Dikuratori oleh Hannah Milan, daftar ini awalnya dibuat untuk melacak lebih dari 200+ plugin aksesibilitas yang dikuratori dengan tangan, alat, artikel, studi kasus, pola desain, sumber daya desain, standar aksesibilitas, dan bahkan daftar periksa. Tentu saja, Anda selalu dapat mengirimkan alat jika Anda melihat ada yang kurang.

Aksesibilitas Komponen Pihak Ketiga

Komponen yang dapat digunakan kembali seperti pilihan kustom, pelengkapan otomatis, atau pemilih tanggal adalah penolong yang andal. Namun, banyak komponen pihak ketiga yang mengklaim dapat diakses ternyata hanya dapat diakses sebagian setelah Anda menggali lebih dalam. Seperti yang ditunjukkan oleh Hidde de Vries, bahkan komponen yang mengimplementasikan Panduan Praktik Penulisan ARIA 1:1 dapat menjadi penting karena panduan ini tidak membuat klaim tentang aksesibilitas pembaca layar atau pengalaman pengguna. Jadi bagaimana Anda menemukan komponen-komponen yang benar-benar dapat diakses?

Komponen front-end yang dapat diakses: klaim vs kenyataan
Hide de Vries membagikan tip berharga yang membantu Anda mengetahui apakah komponen pihak ketiga dapat diakses. (Pratinjau besar)

Hide memublikasikan daftar pertanyaan yang dapat Anda ajukan untuk mendapatkan sedikit kepastian tentang aksesibilitas suatu komponen: Bagaimana pengujiannya? Dengan siapa mereka menguji? Apakah mereka terbuka tentang pro dan kontra dari pendekatan mereka? Dan siapa yang menciptakan komponen itu? Dia juga membagikan beberapa tip berharga dari komunitas yang membantu Anda menilai apakah komponen yang diklaim dapat diakses akan memenuhi janjinya.

Membungkus

Pasti ada lusinan dan ratusan pedoman penting oleh orang-orang luar biasa di komunitas aksesibilitas, seperti Steve Faulkner dengan serangkaian besar artikel tentang semantik dan aksesibilitas dan Leonie Watson dengan serangkaian besar artikel tentang aksesibilitas secara umum. Tidak mungkin untuk membuat daftar semua orang, tetapi kami dengan tulus berterima kasih atas setiap kontribusi.

Kami mungkin telah melewatkan beberapa teknik dan sumber daya yang penting dan berharga! Jadi, silakan tinggalkan komentar dan rujuk ke mereka — kami ingin memperbarui posting ini dan selalu memperbaruinya agar kita semua dapat kembali ke sana dan membangun komponen yang andal dan dapat diakses lebih cepat.

Kami sangat berharap bahwa alat dan teknik ini akan terbukti berguna dalam pekerjaan Anda sehari-hari — dan yang paling penting membantu Anda menghindari beberapa tugas rutin yang memakan waktu.

Tetap dapat diakses!

Terima kasih! ️

Terima kasih banyak kepada @jamsandwich, Courtney Heitman, Stephanie Eckles, Adam Silver, Daniela Kubesch, Tanisha Sabherwal, Manuel Matuzovic, Vadim Makeev, Kitty Giraudel, Ian James, Juha Lehtonen, Heydon Pickering, Shivani Gupta, Jason Webb, Alex Kallinikos, Scott O'Hara, Sara Soueidan, Sasha Chudesnov, Adam Liptrot, Holger Bartel, Kim Johannesen, dan semua orang lain yang dengan penuh semangat bekerja di sekitar aksesibilitas untuk kontribusinya pada artikel ini. Komunitas penting.

Lebih Lanjut Tentang Aksesibilitas

  • Alat Audit CSS
  • Generator CSS
  • Mengurai Dunia Kompleks Pola yang Dapat Diakses
  • Mendesain Dengan Gerakan yang Dikurangi Untuk Sensitivitas Gerakan
  • Saya Menggunakan Web Selama Sehari Menggunakan Pembaca Layar
  • Aksesibilitas Di Chrome DevTools
  • Hal yang Dapat Anda Lakukan Dengan CSS Hari Ini
  • Juga, berlangganan buletin kami agar tidak ketinggalan yang berikutnya.