Ringkasan poin utama Popover API
Pengenalan Popover API
- Popover API menyediakan mekanisme yang standar, konsisten, dan fleksibel bagi developer untuk menampilkan konten popover di atas konten halaman
- Konten popover dapat dikontrol secara deklaratif menggunakan atribut HTML atau melalui JavaScript
Karakteristik dan cara penggunaan Popover
- Popover dibagi menjadi dua jenis, yaitu modal dan non-modal, dan popover yang dibuat dengan Popover API selalu bersifat non-modal
- Modal berarti sisa bagian halaman dirender sebagai non-interaktif selama popover ditampilkan
- Non-modal berarti pengguna tetap dapat berinteraksi dengan bagian halaman lainnya selama popover ditampilkan
- Contoh penggunaan popover yang umum meliputi menu aksi, notifikasi "toast" kustom, saran elemen formulir, pemilih konten, atau UI edukatif
- Popover dapat dibuat secara deklaratif melalui atribut HTML atau melalui JavaScript API
Atribut HTML terkait Popover API
popover: atribut global yang mengubah elemen menjadi elemen popover
popovertarget: mengubah elemen <button> atau <input> menjadi tombol pengendali popover
popovertargetaction: menentukan aksi yang dilakukan pada elemen popover yang dikendalikan oleh <button> atau <input> pengendali
Fitur CSS terkait Popover API
::backdrop: elemen layar penuh yang ditempatkan tepat di belakang elemen popover, yang dapat digunakan untuk menambahkan efek pada konten halaman di belakang popover jika diinginkan
:popover-open: pseudo-class yang hanya cocok saat elemen popover dalam keadaan ditampilkan, dan dapat digunakan untuk menerapkan gaya ketika elemen popover muncul
Antarmuka dan ekstensi terkait Popover API
ToggleEvent: merepresentasikan event yang memberi tahu pengguna ketika status elemen popover berubah antara tampil dan tersembunyi
- Ditambahkan instance property seperti
HTMLElement.popover, HTMLButtonElement.popoverTargetElement, HTMLInputElement.popoverTargetElement, HTMLButtonElement.popoverTargetAction, HTMLInputElement.popoverTargetAction
- Ditambahkan instance method seperti
HTMLElement.hidePopover(), HTMLElement.showPopover(), HTMLElement.togglePopover()
- Ditambahkan event
beforetoggle, toggle
Opini GN⁺
- Popover API bermakna karena menyediakan cara yang terstandarisasi bagi developer web untuk mengimplementasikan UI popover dengan mudah. Sebelumnya, hal ini biasanya memerlukan library atau implementasi manual
- Namun, perlu dipertimbangkan bahwa Popover API masih merupakan fitur eksperimental dan dukungan browser masih terbatas. Untuk penggunaan di lingkungan produksi, ada baiknya mempertimbangkan polyfill atau penggunaan bersama library yang sudah ada
- Library yang menyediakan fungsi serupa antara lain komponen Popover dari Bootstrap dan Tippy.js
- Saat menggunakan Popover API, aspek aksesibilitas juga perlu diperhatikan. Popover harus dapat dikendalikan dengan keyboard, dan teks alternatif untuk pengguna screen reader juga harus disediakan
1 komentar
Opini Hacker News
Ringkasnya sebagai berikut.
<dialog>juga bisa digunakan.<dialog>, tetapi untuk kasus seperti membuat latar belakang menjadi blur, menjadikan popover sebagai modal adalah use case yang masuk akal. Bukankah<popover modal=true>akan menjadi pendekatan yang lebih baik?