Prinsip inti pengembangan web: hukum hak istimewa minimum
- Salah satu prinsip inti pengembangan web, 'hukum hak istimewa minimum', berarti memilih bahasa dengan tingkat terendah yang sesuai untuk tujuan yang diberikan.
- Di antara HTML, CSS, dan JS, HTML paling diutamakan, lalu CSS, dan terakhir JS.
- JS adalah yang paling serbaguna, tetapi memiliki risiko seperti kegagalan pemuatan, konsumsi sumber daya tambahan, dan masalah aksesibilitas.
Switch kustom
- Saat perlu mengimplementasikan switch kustom alih-alih checkbox biasa karena kebutuhan desain, hal ini dapat dibuat dengan HTML dan CSS yang menggunakan kelas semu
:checked alih-alih JS.
- Browser secara otomatis mengaitkan elemen input yang berada di dalam label sehingga bisa diklik, sehingga menyediakan fungsi toggle tanpa handler JS tambahan.
Fitur pelengkapan otomatis native: Datalist
- Alih-alih JavaScript, Anda dapat menggunakan fitur bawaan browser,
datalist, untuk membuat fungsi yang secara otomatis memfilter dan menampilkan opsi saat pengguna mengetik.
- Pengguna dapat memasukkan nilai yang mereka inginkan, atau mengklik ikon dropdown yang ditambahkan browser untuk melihat semua opsi.
Pemilih warna native
- Alih-alih pemilih warna kompleks berbasis JS, Anda dapat menggunakan pemilih warna native yang dibuat hanya dengan satu baris HTML.
- Di browser berbasis Chrome, ada fitur tambahan untuk memilih warna dari mana saja di layar.
Accordion
- Dengan menggunakan elemen
details dan summary, Anda dapat menyembunyikan konten sampai pengguna membutuhkannya dan meningkatkan struktur halaman.
- Dengan atribut
open, salah satu item accordion dapat dibiarkan terbuka secara default.
Modal interaktif
- Dengan menggunakan elemen
dialog, Anda dapat mengimplementasikan modal untuk memberikan informasi kepada pengguna atau meminta input.
- JS digunakan untuk membuka modal, tetapi selebihnya semuanya ditangani oleh HTML dan CSS native.
Kesimpulan
- Artikel ini menunjukkan bahwa Anda dapat membuat situs web yang lebih baik dengan lebih sedikit menggunakan JS dan memanfaatkan kemampuan CSS dan HTML.
- Penting untuk menguji cara implementasi baru dengan mempertimbangkan aksesibilitas.
Opini GN⁺
- Poin terpenting dari tulisan ini adalah bahwa saat mengembangkan web, Anda dapat meningkatkan performa dan aksesibilitas dengan meminimalkan ketergantungan pada JS dan memaksimalkan penggunaan kemampuan HTML dan CSS.
- Alasan hal ini menarik bagi pengembang web adalah karena tulisan ini menawarkan cara baru untuk mengimplementasikan fitur-fitur yang sebelumnya dianggap hanya mungkin dengan JS, dengan metode yang lebih sederhana dan efisien.
1 komentar
Komentar Hacker News
Ada catatan bahwa pembahasan tentang penggunaan JavaScript di area tertentu karena kompatibilitasnya yang lebih baik terlewat
appearance, MDN memberikan banyak peringatan, dan khususnya merekomendasikan pengujian menyeluruh untuk penggunaanappearance: nonedatalisttidak berfungsi di Firefox Android dan hanya terlihat sebagai kotak input biasadetailsdandialogMengungkapkan keterkejutan bahwa bahkan pada 2023 kita masih mengalami masalah pengalaman pengguna (UX) umum terkait formulir dan input data pengguna
Tidak tahu tentang
datalist, tetapi tampaknya tidak bekerja dengan baik di Chrome AndroidMenyebut native smooth scrolling dengan
scroll-behavior: smooth, carousel native denganscroll-snap, dan animasi berbasis scrollDengan menggunakan
<details>, konten bisa dicari dengan Ctrl+F, dan sementara accordion JavaScript tidak bisa dibuka,<details>bisa dibuka, yang menjadi keunggulannyaAda pendapat bahwa
datalistbukan pilihan yang tepat kecuali untuk alat internalAda pendapat bahwa jika mengikuti standar HTML, semuanya menjadi konsisten dan hal-hal seperti aksesibilitas atau terjemahan dapat diterapkan dengan mudah
Ada catatan bahwa CSS bisa digunakan sebagai alat untuk membuat halaman web lebih sulit dibaca
Menyebut "Rule of Least Power" sebagai salah satu prinsip inti pengembangan web