Mendukung aksesibilitas

Ekstensi memberdayakan pengguna untuk menciptakan pengalaman penjelajahan ideal mereka, yang disesuaikan dengan kemampuan dan preferensi individu. Ekstensi harus menyertakan komponen aksesibilitas yang mendorong basis pengguna inklusif dengan memungkinkan pengguna dengan gangguan penglihatan, gangguan pendengaran, ketangkasan yang terbatas, dan disabilitas lainnya untuk mengakses ekstensi tersebut.

Semua orang, bukan hanya pengguna berkebutuhan khusus, dapat memanfaatkan fitur aksesibilitas. Pengguna dengan gangguan penglihatan, ketangkasan yang rendah, dan gangguan penglihatan, semua dapat memanfaatkan pintasan keyboard. Teks dan transkripsi sangat penting bagi pengguna tunarungu, tetapi juga membantu pelajar bahasa.

Orang dapat berinteraksi dengan ekstensi dalam berbagai cara. Beberapa pengguna memiliki monitor, keyboard, dan mouse standar, atau mungkin bergantung pada pembesar layar dan mungkin pembaca layar. Meskipun tidak mungkin untuk memprediksi alat apa yang akan digunakan orang untuk mengakses ekstensi, ada langkah-langkah yang dapat dilakukan oleh setiap developer untuk membuat ekstensi semudah mungkin.

Mengintegrasikan kontrol UI yang mudah diakses

Jika pengguna tidak dapat mengakses kontrol antarmuka pengguna, mereka tidak dapat menggunakan ekstensi. Cara termudah untuk membuat UI yang mudah diakses adalah dengan menggunakan kontrol HTML standar.

Kontrol standar

Jika memungkinkan, gunakan kontrol UI HTML standar. Kontrol HTML standar dapat diakses dari keyboard, diskalakan dengan mudah, dan umumnya dipahami oleh pembaca layar.

Screenshot dan kode untuk tombol, kotak centang, radio, teks, pilih/opsi, dan link

WAI-ARIA di kontrol kustom

Web Accessibility Initiative - Accessible Rich Internet Applications, WAI-ARIA, adalah spesifikasi untuk membuat kontrol UI dapat diakses oleh pembaca layar melalui sekumpulan atribut DOM standar. Atribut ini memberikan informasi kepada pembaca layar tentang fungsi dan status kontrol saat ini di halaman web.

Untuk menambahkan dukungan WAI-ARIA ke kontrol kustom, elemen DOM suatu ekstensi perlu dimodifikasi agar menyertakan atribut yang digunakan Chrome untuk memunculkan peristiwa selama interaksi pengguna. Pembaca layar merespons peristiwa ini dan menjelaskan fungsi kontrol. Atribut DOM yang ditentukan oleh WAI-ARIA diklasifikasikan menjadi peran, status, dan properti.

<div role="toolbar">

Properti aria-activedescendant menentukan turunan toolbar mana yang menerima fokus saat toolbar menerima fokus. Kode tabindex="0" menentukan bahwa toolbar menerima fokus dalam urutan dokumen.

Perhatikan spesifikasi lengkap untuk contoh {i>toolbar<i} di bawah ini:

<div role="toolbar" tabindex="0" aria-activedescendant="button1">
  <img src="buttoncut.png" role="button" alt="cut" id="button1">
  <img src="buttoncopy.png" role="button" alt="copy" id="button2">
  <img src="buttonpaste.png" role="button" alt="paste" id="button3">
</div>

Setelah peran, status, dan properti WAI-ARIA ditambahkan ke DOM kontrol, Google Chrome akan memunculkan peristiwa yang sesuai ke pembaca layar. Karena dukungan WAI-ARIA masih dalam proses, Google Chrome mungkin tidak memunculkan peristiwa untuk setiap properti WAI-ARIA, dan pembaca layar mungkin tidak mengenali semua peristiwa yang dimunculkan.

Untuk tutorial singkat tentang cara menambahkan kontrol WAI-ARIA ke kontrol kustom, lihat presentasi Dave Raggett dari WWW2010.

Fokus di kontrol kustom

Fokus keyboard sangat penting bagi pengguna yang menjelajahi web tanpa mouse. Pastikan kontrol operasi dan navigasi, seperti tombol, kotak daftar, dan panel menu dapat menerima fokus keyboard.

Secara default, satu-satunya elemen dalam DOM HTML yang dapat menerima fokus keyboard adalah anchor, tombol, dan kontrol formulir. Namun, menetapkan atribut HTML tabIndex ke 0 akan menempatkan elemen DOM dalam urutan tab default, sehingga memungkinkannya menerima fokus keyboard.

element.tabIndex = 0
element.focus();

Menyetel tabIndex = -1 akan menghapus elemen dari urutan tab, tetapi masih memungkinkan elemen menerima fokus keyboard secara terprogram.

Mendukung akses keyboard

Ekstensi harus dapat digunakan hanya dengan keyboard, sehingga memungkinkan pengguna yang tidak dapat menggunakan mouse, dan mendorong pengguna yang tidak dapat menggunakannya, untuk mengaksesnya.

Periksa apakah pengguna dapat menavigasi di antara bagian-bagian ekstensi yang berbeda tanpa menggunakan mouse. Pastikan setiap penggunaan popup dapat dijelajahi dengan keyboard. Gunakan pintasan keyboard Chrome untuk menentukan apakah ekstensi dapat dibuka.

Pastikan mudah untuk melihat bagian antarmuka mana yang memiliki fokus keyboard. Biasanya, garis batas fokus bergerak di sekitar antarmuka, tetapi, jika CSS terlalu banyak digunakan, garis batas mungkin akan diredam atau kontrasnya dikurangi.

Garis fokus di tombol Penelusuran

Garis besar fokus pada salah satu rangkaian tautan

Pintasan

Meskipun strategi navigasi keyboard yang paling umum melibatkan penggunaan tombol Tab untuk memutar fokus melalui antarmuka ekstensi, tombol ini tidak selalu menjadi opsi yang paling mudah atau paling efisien.

Pengendali keyboard JavaScript sederhana dapat terlihat seperti berikut. Perhatikan cara properti WAI-ARIA aria-activedescendant diperbarui sebagai respons terhadap input pengguna untuk mencerminkan tombol toolbar yang aktif saat ini.

 function optionKeyEvent(event) {
  var tb = event.target;
  var buttonid;

  ENTER_KEYCODE = 13;
  RIGHT_KEYCODE = 39;
  LEFT_KEYCODE = 37;
  // Partial sample code for processing arrow keys.
  if (event.type == "keydown") {
    // Implement circular keyboard navigation within the toolbar buttons
    if (event.keyCode == ENTER_KEYCODE) {
      ExecuteButtonAction(getCurrentButtonID());
      // getCurrentButtonID defined elsewhere
    } else if (event.keyCode == event.RIGHT_KEYCODE) {
      // Change the active toolbar button to the one to the right (circular).
      var buttonid = getNextButtonID();
      // getNextButtonID defined elsewhere
      tb.setAttribute("aria-activedescendant", buttonid);
    } else if (event.keyCode == event.LEFT_KEYCODE) {
      // Change the active toolbar button to the one to the left (circular).
      var buttonid = getPrevButtonID();
      // getPrevButtonID defined elsewhere
      tb.setAttribute("aria-activedescendant", buttonid);
    } else {
      return true;
    }
    return false;
  }
}
<div role="toolbar" tabindex="0" aria-activedescendant="button1" id="tb1"
     onkeydown="return optionKeyEvent(event);"
     onkeypress="return optionKeyEvent(event);">
  <img src="buttoncut" role="button" alt="cut" id="button1">
  <img src="buttoncopy" role="button" alt="copy" id="button1">
  <img src="buttonpaste" role="button" alt="paste" id="button1">
</div>

Ekstensi dapat membuat pintasan keyboard eksplisit ke elemen UI ekstensi yang penting. Untuk menerapkan pintasan ini, hubungkan pemroses peristiwa keyboard ke kontrol. Buat pengguna mengetahui pintasan yang tersedia dengan memberikannya di halaman opsi.

Menyediakan konten yang mudah diakses

Menyediakan konten yang mudah diakses adalah hal penting bagi semua pengguna. Banyak panduan berikut mungkin terdengar familier, karena mencerminkan praktik yang baik untuk semua konten web.

Teks

Pilihan font dan ukuran teks memengaruhi seberapa mudah konten ekstensi dibaca. Pengguna dengan masalah penglihatan mungkin perlu meningkatkan ukuran teks ekstensi. Jika menggunakan pintasan keyboard, pastikan pintasan tersebut tidak mengganggu pintasan zoom yang disertakan dalam Chrome.

Sebagai indikator fleksibilitas UI ekstensi, terapkan pengujian 200%; jika ukuran teks atau zoom halaman ditingkatkan 200%, apakah teks masih dapat digunakan?

Hindari menyertakan teks ke dalam gambar. Pengguna tidak dapat mengubah ukuran dan pembaca layar tidak dapat menafsirkan gambar. Sebagai gantinya, pilih font web bergaya, seperti salah satu font yang ada dalam Google Font API. Font web dapat diskalakan ke berbagai ukuran dan dapat diakses oleh orang yang menggunakan pembaca layar.

Warna

Harus ada kontras yang cukup antara warna latar belakang dan warna teks dalam ekstensi. Gunakan alat pemeriksaan kontras untuk menguji apakah warna latar belakang dan latar depan memberikan kontras yang sesuai.

Saat mengevaluasi kontras, pastikan setiap bagian ekstensi yang mengandalkan grafis untuk menyampaikan informasi terlihat jelas. Untuk gambar tertentu, alat seperti Coblis—Color Blindness Simulator dapat digunakan untuk melihat tampilan gambar dalam berbagai bentuk kekurangan warna.

Pertimbangkan untuk menawarkan tema warna yang berbeda, atau beri pengguna kemampuan untuk menyesuaikan skema warna, untuk membuat kontras yang lebih baik.

Audio

Jika ekstensi mengandalkan suara atau video untuk menyampaikan informasi, pastikan teks atau transkripsi tersedia. Lihat Pedoman Program Media Berteks dan Dideskripsikan untuk mengetahui informasi selengkapnya tentang teks.

Gambar

Berikan teks alternatif yang informatif untuk gambar.

<img src="img.jpg" alt="The logo for the extension">

Gunakan teks alternatif untuk menyatakan tujuan gambar, bukan deskripsi literal dari konten gambar. Gambar pengatur jarak atau gambar yang hanya bersifat dekoratif harus memiliki teks alternatif "" kosong atau dihapus dari HTML sepenuhnya dan ditempatkan di CSS.

Jika ekstensi harus menggunakan teks dalam gambar, sertakan teks gambar dalam teks alternatif. Referensi yang baik untuk dirujuk adalah artikel WebAIM tentang teks alternatif yang sesuai.

Selengkapnya

Pelajari lebih lanjut aksesibilitas di Chrome dengan melihat saluran A11ycasts dan membaca Dokumentasi Teknis Aksesibilitas Chromium.