Dalam artikel ini, saya mencoba merangkum praktik terbaik yang disebutkan oleh beberapa pakar aksesibilitas dan karya mereka (seperti ini dan ini dan ini) menjadi satu artikel yang mudah dibaca, dipahami, dan diterapkan.
Mari kita mulai.
Apa itu tooltip?
Tooltip digunakan untuk memberikan petunjuk teks sederhana untuk kontrol antarmuka pengguna. Anggap saja sebagai tip alat. Itu pada dasarnya adalah gelembung kecil berisi konten teks yang muncul saat Anda mengarahkan kursor ke kontrol yang tidak berlabel (seperti ikon lonceng di Stripe).

Jika Anda lebih menyukai definisi yang lebih formal, Sarah Haley memberi kami definisi yang sangat bagus:
Tooltip adalah hamparan modeless (atau non-pemblokiran) yang berisi konten hanya teks yang memberikan informasi tambahan tentang kontrol UI saat ini. Ini disembunyikan secara default, dan tersedia saat Anda mengarahkan kursor atau fokus pada kontrol yang dijelaskannya.
Dia melanjutkan dengan mengatakan:
Definisi ini dapat dipersempit lebih lanjut dengan mengatakan bahwa tooltips seharusnya hanya menyediakan teks deskriptif.
Ini pada dasarnya adalah definisi yang sempit (menurut pengalaman saya) Bagaimana setiap pakar aksesibilitas mendefinisikan tooltips:
- Tooltipnya adalah jendela pop-up.
- Tooltip tidak boleh berisi konten interaktif.
Haydon Pickering melangkah lebih jauh dengan mengatakan: Jika Anda berpikir untuk menambahkan konten interaktif (bahkan jika… ok
tombol), harus digunakan dialog
alih-alih.
Dalam kata-katanya:
Anda berpikir dalam dialog. Gunakan kotak dialog.
Dua jenis tooltip
Tooltips terutama digunakan hanya untuk dua hal:
- Tandai ikonnya
- Berikan deskripsi kontekstual dari kode tersebut
Heydon dengan jelas membagi elemen-elemen ini menjadi dua kategori, “klasifikasi dasar” dan “deskripsi tambahan” dalam artikel Komponen Komprehensifnya di ToolTips dan ToggleTips).

Pelabelan
Jika tooltip Anda digunakan untuk memberi nama suatu simbol – hanya menggunakan satu atau dua kata – Anda harus menggunakannya aria-labelledby
Atribut untuk memberi nama dengan benar karena melekat pada hal lain di halaman yang akan membantu pengenalannya.
<button aria-labelledby="notifications"> ... </button>
<div role="tooltip" id="notifications">Notifications</div>
Anda dapat memberikan informasi kontekstual, seperti membatasi jumlah notifikasi, dengan menampilkan daftar yang dipisahkan spasi id
Mengatakan aria-labelledby
.

<button aria-labelledby="notifications-count notifications-label">
<!-- bell icon here -->
<span id="notifications-count">3</span>
</button>
<div role="tooltip" id="notifications-label">Notifications</div>
Berikan deskripsi kontekstual
Jika keterangan alat Anda memberikan deskripsi kontekstual tentang ikon tersebut, Anda harus menggunakannya aria-describedby
. Namun, saat Anda melakukan ini, Anda juga perlu memberikan nama yang dapat diakses untuk ikon tersebut.
Dalam hal ini, Heydon merekomendasikan untuk menyertakan label sebagai konten teks tombol. Label ini akan disembunyikan secara visual dari pengguna yang dapat melihat namun dapat dibaca oleh pembaca layar.
Lalu, Anda bisa menambahkan aria-describedby
Untuk memasukkan deskripsi tambahan.
<button class="notifications" aria-describedby="notifications-desc">
<!-- icon for bell here -->
<span id="notifications-count">3</span>
<span class="visually-hidden">Notifications</span>
</button>
<div role="tooltip" id="notifications-desc">View and manage notifications settings</div>
Di sini, pembaca layar akan mengucapkan “3 notifikasi” terlebih dahulu, diikuti dengan “Lihat dan kelola pengaturan notifikasi” setelah jeda singkat.
Tooltip tambahan dan apa yang tidak boleh dilakukan
Berikut beberapa poin tambahan yang harus Anda waspadai:
melakukan:
- digunakan
aria-labellebdy
atauaria-describedby
Atribut bergantung pada jenis tooltip yang Anda buat. - menggunakan
tooltip
Meskipun tidak terlalu berdampak pada pembaca layar saat ini, hal ini dapat memperluas dukungan aksesibilitas untuk beberapa program. - Buka ToolTips aktif
mouseover
ataufocus
Dan tutuplahmouseout
ataublur
. - Memungkinkan pengguna mouse untuk menggerakkan mouse ke atas konten tooltip tanpa mengabaikan tooltip.
- Memungkinkan pengguna keyboard untuk menutup tooltip
Escape
Tombol, sesuai dengan Standar Sukses WCAG 1.4.13.
TIDAK:
- Jangan gunakan
title
menjelaskan. Banyak yang telah dikatakan tentang hal ini, jadi saya tidak akan mengulanginya. - Jangan gunakan
aria-haspopup
atribut dengantooltip
Perannya karenaaria-haspopup
Menunjukkan konten interaktif sementaratooltip
Harus berisi konten non-interaktif. - Jangan sertakan konten dasar di dalam tooltips karena beberapa pembaca layar mungkin mengabaikannya
aria-labelledby
atauaria-describedby
. (Ini jarang terjadi tetapi mungkin).
Batasan tooltip dan alternatifnya
ToolTips tidak dapat diakses oleh sebagian besar perangkat sentuh karena alasan berikut:
- Pengguna tidak dapat mengarahkan kursor ke tombol pada perangkat yang mendukung sentuhan
- Pengguna tidak dapat fokus pada tombol di perangkat sentuh.
Alternatif yang lebih baik adalah dengan tidak menggunakan tooltips, dan sebaliknya, temukan cara untuk menyertakan label atau teks deskriptif dalam desain.
Jika Tooltip berisi banyak konten — termasuk konten interaktif — Anda mungkin ingin menampilkan informasi tersebut dengan tooltip pengalih (atau cukup gunakan <dialog>
komponen).
Heydon menjelaskan tips peralihan dengan baik dan ringkas:
Ada petunjuk sakelar untuk mengungkapkan balon informasi. Mereka sering kali berbentuk ikon “i” kecil.

Kode informasi ini harus dibungkus dalam sebuah file <button>
komponen. Saat dibuka, pembaca layar dapat mengumumkan teks di dalamnya melalui area langsung menggunakan tombol tersebut status
peran.
<span class="tooltip-container">
<button type="button" aria-label="more info">i</button>
<span role="status">This clarifies whatever needs clarifying</span>
</span>
Berbicara lagi tentang tip beralih mengalihkan perhatian dari artikel ini, jadi saya akan mengarahkan Anda ke artikel “Tooltips dan Tip Beralih” Heydon jika Anda tertarik untuk menelusuri lubang kelinci pendek itu.
Itu saja yang perlu Anda ketahui tentang tooltips dan praktik terbaiknya saat ini!
Bacaan lebih lanjut
- Memperjelas hubungan antara Popover dan Kotak Dialog (Zell Liew)
- Tooltip dan tip beralih (komponen global)
- Tooltip di Masa WCAG 2.1 (Sarah Higley)
- Catatan singkat tentang
aria-label
,aria-labelledby
Danaria-describedby
(Leonie Watson) - Beberapa elemen dialog HTML praktis (Chris Cowher)
Praktik Terbaik Tooltip awalnya diterbitkan di CSS-Tricks, yang merupakan bagian dari keluarga DigitalOcean. Anda harus mendapatkan buletin.