Bertaruh pada HTML
(catskull.net)- Seiring meluasnya AI berbasis model bahasa besar, nilai HTML semantik yang dapat dibaca mesin juga semakin besar, sama pentingnya dengan layar yang dilihat manusia
- Walled garden milik media sosial besar menghambat portabilitas data dan interoperabilitas, sementara upaya terdesentralisasi seperti fediverse, Threads, dan Bluesky pun belum punya dorongan yang cukup kuat untuk menarik pengguna umum
- HTML modern sudah memiliki cukup banyak elemen UI dasar yang dibutuhkan aplikasi web, seperti
<details>,<dialog>, dan berbagai<input> - Dengan memanfaatkan gaya bawaan browser dan reader mode, ketergantungan berlebihan pada CSS·JavaScript dapat dikurangi, dan tag yang tepat meningkatkan keterbacaan mesin serta pengalaman input di perangkat mobile
- Dalam arus di mana RSS masih tetap hidup dan antarmuka ala ChatGPT mulai muncul sebagai cara mengakses data, HTML terstruktur dapat menjadi fondasi yang lebih praktis dibanding antarmuka yang berpusat pada iklan
HTML sebagai antarmuka data dasar web
- Kemunculan AI berbasis model bahasa besar kembali mengangkat pentingnya HTML semantik
- Inti internet adalah menyampaikan data yang dibutuhkan manusia untuk berinteraksi dengan dunia, tetapi kebebasan HTML/CSS/JavaScript juga punya sisi lain: membatasi akses ke data
- Media sosial milik perusahaan teknologi besar mengikat pengguna di dalam platform tertutup, alih-alih memakai format data dan API yang terbuka serta mudah diakses
- Interoperabilitas antarpaltform pada praktiknya menjadi sulit
- Masalah makin rumit karena perusahaan enggan memudahkan perpindahan data
- Ketidakstabilan media sosial belakangan ini kembali meningkatkan minat pada platform terdesentralisasi seperti fediverse
- Threads milik Meta dan Bluesky yang dibuat Jack Dorsey mengusung interoperabilitas dengan fediverse yang lebih luas
- Namun, pengguna umum sering kali tidak memilih media sosial baru hanya karena alasan seperti ini
- Perlu melihat kembali HTML sebagai solusi yang sudah terbukti
- Dahulu, banyak CSS diperlukan agar konten HTML tidak terlihat buruk di browser
- Kini, banyak elemen HTML modern telah ditambahkan dan menyediakan sebagian besar elemen UI yang dibutuhkan aplikasi web modern
- Reader mode dapat meniadakan waktu yang dihabiskan untuk styling, dan ini bisa dipandang positif
- Tag yang tepat menyediakan format yang mudah dibaca mesin
- Ini menjadi alasan yang lebih kuat untuk mengadopsi HTML modern daripada sekadar menghemat waktu desain
- RSS terus tetap hidup
- Ada kemungkinan antarmuka seperti ChatGPT menjadi cara masa depan bagi manusia untuk mengakses data
Elemen HTML yang berguna atau layak dilihat dengan perspektif baru
- Daftar lengkap elemen HTML di MDN layak dilihat
- Contoh di bawah hanya menggunakan gaya bawaan browser tanpa styling terpisah
- Tampilannya bisa sangat berbeda tergantung browser, atau bahkan tidak didukung sama sekali
<abbr>: elemen untuk membungkus singkatan- Dapat diberi gaya untuk penekanan
- Terutama berguna untuk pembacaan mesin
<datalist>: elemen yang menyediakan daftar kandidat input- Dapat membuat UI yang tampak seperti typeahead
- Tampaknya tidak ada validasi bawaan
- Di Safari, tag
optionharus ditutup; jika tidak ditutup, elemen ini tidak akan bekerja
<details>: elemen disclosure yang dapat dibuka dan ditutup- Dapat digunakan sebagai dropdown kecil
- Styling juga bisa diterapkan secara kuat
<dialog>: elemen kotak dialog- Ini adalah elemen bawaan yang dapat dibuka dan ditutup dengan tombol, form, atribut, dan JavaScript
- Tidak persis sama dengan modal, tetapi layak dijadikan dasar jika ingin membuat modal
- Tampaknya dirender di atas elemen berikutnya
<i>dan<em>- Perlu memahami perbedaan kedua elemen ini
<iframe>- Masuk dalam daftar contoh, tetapi dibahas seperti lelucon
<input>: elemen input form- Input harus menggunakan label dan tipe yang sesuai
- Di mobile, sistem operasi membuka keyboard yang berbeda sesuai konteks, sehingga penentuan tipe input penting
- Ada beragam input terkait waktu, sehingga dapat mengurangi kebutuhan akan date picker JavaScript terpisah
- Contohnya mencakup input
color,range, dandatetime-local
<mark>: elemen penyorot teks- Secara default, di Safari ditampilkan sebagai sorotan berwarna kuning
<meter>: elemen untuk menampilkan nilai pengukuran- Di Safari, ditampilkan dalam warna merah·kuning·hijau sesuai parameter yang diatur
- Nilai
optimumdapat diatur - Bisa berguna untuk demo visualisasi musik 60fps
<progress>: elemen penampil progres- Ini adalah bilah progres HTML native yang dapat diberi nilai tetap atau status tak tentu
- Di Safari, tampak biru saat jendela aktif dan abu-abu saat tidak aktif
- Secara default mengikuti warna aksen sistem, dan dapat diatur dengan properti CSS
accent-color
1 komentar
Pendapat Hacker News
Aneh kalau HTML disebut sebagai solusi untuk ketergantungan pada ekosistem tertutup. Layanan-layanan tertutup semacam itu pun sudah memakai HTML, dan juga memakai sebagian elemen semantik yang disebutkan serta atribut semantik ARIA yang lebih canggih
Klaim bahwa antarmuka seperti ChatGPT adalah masa depan akses data manusia juga bertentangan dengan inti sistem kecerdasan buatan: mereka tidak memerlukan anotasi khusus “yang dapat dibaca mesin” untuk memproses masukan. ChatGPT dan model-model penerusnya dapat menjelajahi situs web biasa seperti manusia, dan bisa menyadari bahwa sekumpulan paragraf adalah “daftar” tanpa markup eksplisit
Yang dijelaskan penulis pada akhirnya lebih mirip API yang dimediasi oleh elemen semantik HTML. Namun jika ada API, model bahasa besar tidak diperlukan untuk akses data otomatis; skrip Python biasa yang memakai Beautiful Soup sudah cukup, dengan keuntungan bahwa ia berjalan sepenuhnya secara lokal
Pada akhirnya, yang membedakan yang baik dan buruk adalah kompleksitas implementasi. Alat apa pun bisa dipakai dengan baik atau buruk, dan pemula bisa membuat kecelakaan besar dengan gergaji bundar dan baterai yang terisi. Seorang ahli pun bisa memilih untuk tidak memakai alat sama sekali dan justru menekan sisi lain, yakni menolak kebutuhan bisnis
Situs web yang baru-baru ini saya buat adalah yang paling kompatibel di antara semua yang pernah saya buat. Saya tidak lagi memakai websocket, dan tidak bergantung pada cara JavaScript berbicara sedikit demi sedikit dengan server. Sekitar 80% produk tetap bisa dipakai meski JavaScript dimatikan sepenuhnya. Saya tidak mengerti bagaimana pilihan rekayasa seperti ini bisa disebut bukan solusi terhadap ketergantungan pada ekosistem tertutup
Model bahasa besar belajar dari teks, kode sumber, dan sebagainya, tetapi tanpa sesuatu yang layak disebut perangkat penalaran, saya ragu mereka benar-benar bisa melihat pohon DOM dan mengetahui apa itu serta apa fungsinya. DOM bukan teks, dan karena merupakan hasil bundling atau komponenisasi, sulit juga menyebutnya kode sumber yang terstruktur dengan baik. Kedengarannya hampir seperti mengatakan “model bahasa besar bisa melihat .exe sembarang dan langsung mengintegrasikannya”
Saya juga punya minat serupa, tetapi tujuannya crawling dan mesin pencari baru. Jika setiap halaman harus dijalankan di browser headless sebelum diindeks, hambatan masuk bagi mesin pencari baru menjadi jauh lebih tinggi
Kalimat pertama tulisan itu adalah “dengan munculnya kecerdasan buatan berbasis model bahasa besar, HTML semantik menjadi lebih penting dari sebelumnya”, tetapi menurut saya kalimat yang jauh lebih bisa dipertahankan justru “dengan munculnya kecerdasan buatan berbasis model bahasa besar, HTML semantik menjadi kurang penting dari sebelumnya”
Web semantik gagal, dan posisinya digantikan oleh cara Google menggelontorkan uang sangat besar untuk berbagai heuristik yang dipasangi kecerdasan buatan terbaik pada masanya. Semakin baik kecerdasan buatan, semakin tinggi kemampuannya mengekstrak informasi bahkan dari campur aduk yang dibuat sembarangan; dan jika campur aduk seperti itu sudah cukup, upaya yang orang mau keluarkan juga hanya akan sampai di sana. Pada prinsipnya, pada akhirnya baik web semantik maupun tumpukan heuristik akan digantikan oleh kecerdasan buatan
Penting juga bahwa istilah LLM hanya dipakai di awal lalu setelah itu diganti menjadi istilah umum AI. Model bahasa besar bukanlah seluruh kecerdasan buatan; ia hanya satu cabang yang sedang panas saat ini, dan bukan cabang panas terakhir. Tidak baik membuat proyeksi untuk puluhan tahun ke depan dengan mengasumsikan model bahasa besar sebagai jawaban akhir bagi kecerdasan buatan
Jika tujuannya adalah agar bagian-bagian konten yang relevan cukup terindeks dengan baik dan naik peringkat, bisa dibilang insentif untuk sepenuhnya mengadopsi HTML semantik memang kurang
Jika tujuannya berubah dari “naik peringkat” menjadi “membuat model bahasa besar mengekstrak nuansa dan tekstur konten semaksimal mungkin”, insentif untuk memakai elemen-elemen tertentu dengan lebih baik bisa meningkat. Situs web yang melakukan itu dapat memiliki pengaruh lebih besar terhadap keluaran model bahasa besar
Rasanya seperti perbedaan antara berbicara cukup keras agar terdengar, dan berbicara cukup jelas agar dipahami
Saya mendengar mereka mengumumkan halaman hasil baru yang menyertakan Bard, tetapi entah karena kebiasaan mengabaikan iklan atau karena belum tersedia di wilayah saya, rasanya saya belum melihatnya, jadi saya perlu mencari tahu
Di kepala saya, saya lebih dekat dengan kubu web semantik, tetapi jika mesin bisa memahami campur aduk itu dengan cukup baik, benar juga pertanyaan: untuk apa repot-repot?
Ada juga proyek-proyek yang berargumen bahwa graf pengetahuan atau aset data lain dapat membantu kecerdasan buatan mencari pengetahuan yang “benar”. Secara pribadi, saya pikir lebih baik mengembangkan cara agar kecerdasan buatan dapat membuat aset datanya sendiri. Bobot jaringan saraf juga termasuk salah satu aset semacam itu
Masalah kebenaran tetap sangat sulit. Bagaimana kita bisa memberi tahu kecerdasan buatan bahwa suatu pengetahuan lebih dapat dipercaya daripada pengetahuan lain? Tentu saja manusia pun menghadapi masalah yang sama
Sebagian besar elemen HTML ini hampir tidak pernah saya dengar, dan itu cukup disayangkan. Karena hal-hal seperti ini bisa sangat membantu mengakhiri ekosistem yang menganggap “semua hal membutuhkan JavaScript”
Setidaknya JavaScript bisa dikembalikan ke tempat yang lebih dekat dengan tujuan awalnya: sebagai sarana untuk menambahkan sedikit hiasan atau interaksi. Ia tidak perlu menjadi pengganti semua markup sekaligus pengelola seluruh DOM
Browser yang saya impikan mungkin berbentuk seperti visurf https://sr.ht/~sircmpwn/visurf/, dengan mesin Netsurf di dalamnya diperbarui agar mendukung HTML+CSS modern termasuk elemen-elemen ini. Dengan browser seperti itu, rasanya bisa dibuat web kecil yang hampir tanpa JavaScript. Aksesibilitasnya akan lebih baik karena lebih sedikit merusak screen reader, tema sistem, shortcut keyboard, dan sebagainya; memakai sumber daya jauh lebih sedikit dibanding perangkat JavaScript berat yang sebenarnya bisa diganti; dan tampaknya tetap memungkinkan sebagian besar hal yang diharapkan dari aplikasi web kelas menengah saat ini. Untuk hal seperti WebGL, tinggal buka Firefox, tetapi misalnya klien Matrix mungkin cukup memakai sedikit JavaScript hanya untuk websocket dan enkripsi end-to-end
Ekstensibilitasnya juga hampir tidak ada, jadi begitu perlu melakukan sesuatu yang sedikit saja kompleks, akhirnya harus ditinggalkan dan mulai lagi dengan JavaScript. Kalau begitu, lebih baik sejak awal memakai JavaScript; pendekatan itu bekerja dengan baik, memberi kendali penuh, dan berperilaku sama di semua sistem
Pada akhirnya, komponen tambahan seperti ini menjadi bloat yang harus diimplementasikan semua browser tetapi tidak dipakai siapa pun
datalist, saya berpikir, “wah, ini game changer.” Perilakunya sama di tiap browser, tetapi tampilannya sepenuhnya tergantung browser dan tidak bisa distyling dengan CSSKadang hanya teks datanya yang terlihat, kadang teks dan atribut
valueterlihat bersama. Jadi yang dipilih bukan “Atlanta”, melainkan “234290780 Atlanta”, yaitu ID dan nilai sekaligusDalam perilaku klik pun ID tidak bisa langsung didapat; harus mengambil keseluruhannya lalu mem-parse ID. Rasanya seperti elemen yang dibiarkan terbengkalai
Tulisan itu menautkan ke MDN, dan MDN termasuk yang paling berguna sebagai referensi singkat. Tentu ada juga spesifikasi HTML WHATWG, dan kalau itu terlalu besar, ada sintaks format SGML DTD untuk snapshot WHATWG HTML 2021·2023 serta sintaks lama lini HTML 5.x
[1]: https://sgmljs.net/docs/html200129.html
Saya ingin percaya pada web semantik, dan ingin percaya bahwa browser bisa menyediakan modul dasar yang baik serta style bawaan yang lumayan, tetapi saat ini mau tidak mau harus menerima bahwa kenyataannya belum begitu
Bahkan untuk memberi label pada
input, kita harus mulai dengan bertanya kenapa itu bukan atribut, lalu tidak yakin apakah harus dipakai sebagai wrapper atau sebagai saudara dengan atributfor=. Ini baru puncak gunung es. Untuk tiap tag, kita harus mempelajari seluruh riwayat pengembangannya dan meneliti lagi cara yang benar saat iniKita sebenarnya bisa saja memiliki sesuatu yang bagus, tetapi sepertinya sekarang saatnya menenangkan diri dan melepaskannya
Memang ada bagian-bagian aneh dan sisi-sisi kasar, tetapi jika semua developer web tahu cara memanfaatkan HTML semantik semaksimal mungkin, kemungkinan JavaScript di browser akan jauh lebih sedikit, bug aksesibilitas berkurang, dan lebih banyak mata akan memperhatikan spesifikasi ketika keanehan-keanehan seperti ini perlu diperbaiki atau diganti
Atribut
labelkemungkinan berarti konten teks polos, dan itu terasa terlalu membatasiHTML, seperti sesuatu yang sudah dipakai selama puluhan tahun, memiliki sejarah kompleks dan banyak lapisan. Meski begitu, belakangan ini tidak banyak berubah, dan berkat MDN cukup mudah mempelajari apa yang bisa dilakukan dengan HTML5 serta mendalaminya bila perlu
labelsetelah taginput. Dengan begitu, lewat pseudo-class CSS, saya bisa memilih dan menata label berdasarkan status inputTentu saja, untuk menggunakan sistem penerbitan apa pun—bahkan sistem apa pun—secara efektif, kita harus mempelajari cara memakai elemen-elemen dasar yang disediakannya. Jadi ini bukan masalah khusus web semantik saja
Saya sering memakai
detailsuntuk debugging template HTML GoJika data dimasukkan saat mode pengembangan dengan
{{if .DevMode}}, ketika terlipat elemen itu tidak terlalu merusak halaman sehingga tidak terlalu mencolok, dan saat dibutuhkan bisa dibuka untuk melihat seluruh isinyadetails. Sangat rapi, tapi entah kenapa tidak lebih banyak dipakaiDi GitHub Markdown juga bisa dipakai, dan ada orang yang menggunakannya untuk contoh atau penjelasan inline
Bacaan dan demo interaktifnya bagus
Setelah beberapa tahun mengutak-atik Flutter, aku kembali sampai pada kesimpulan yang sama. Kita harus bertaruh pada HTML
Kombinasi Astro / Tailwind / Daisy UI / Alpine.js cocok untuk membuat situs HTML yang banyak memakai rendering sisi server sederhana dan menaburkan sedikit reaktivitas di sisi klien
Hasil akhirnya adalah file HTML yang sederhana dan baik-baik saja, terlihat bagus dan bekerja baik di browser web desktop maupun WebView mobile yang dibungkus. Aplikasiku pada dasarnya statis, jadi bisa di-cache di CDN, berjalan offline, dan view source membuat debugging jadi mudah
Hal terbaiknya adalah aku bisa yakin developer baru, entah orang React, Angular, PHP, atau Python, akan memahaminya setelah melihat file build 100 baris selama kira-kira 3 menit. Sungguh bagus karena sangat sederhana
Menurutku masalah semantic web adalah, semudah apa pun dibuat, developer tetap menolak menggunakannya dengan benar. Ekstensi browser-ku memakai tag
main, jadi aku cukup memperhatikan tag ini, dan dokumentasi MDN sangat jelas soal apa yang harus dilakukan serta dokumennya sendiri menunjukkan contoh penggunaan yang baik. Namun sangat sedikit situs yang menggunakannya dengan benarBahkan situs profesional yang mewah pun sering membungkus seluruh konten halaman, termasuk navigasi dan footer, di dalam tag
main. Tag ini seharusnya hanya dipakai untuk konten utama halamanKalau elemen sesederhana ini saja tidak bisa dipakai dengan benar, aku tidak terlalu berharap pada elemen lainnya
Hal-hal seperti ini tidak boleh pura-pura menjadi kontrak
puntuk paragraf secara harfiah semuanya memakainya dengan benar. Itu berbeda dari hal seperticlass="card"Aku tidak mengerti kenapa begitu banyak orang yang sangat paham teknologi meratapi ketidakbergunaan semantic web atau kegagalannya seperti ini. Kedengarannya seperti berkata, “Semoga mobil berhasil, perjalanan jarak jauh akan jadi mudah”
Tapi masa seperti itu pernah ada. Hal-hal sebelum HTML4 pada umumnya begitu, dan itu lebih buruk
Jadi mungkin lebih baik kalau developer tools memberi peringatan atau error saat ada penggunaan yang salah
Menarik bahwa banyak komentar di sini melihat tulisan ini sebagai tulisan anti-JavaScript. Bagiku justru ini terlihat seperti alat-alat yang akan sangat berguna bila dipakai bersama framework berbasis TypeScript yang kita gunakan di frontend aplikasi enterprise modern. Karena ini alat native HTML, jadi tidak menuntut banyak macam hal
Misalnya, tag
metersepertinya akan menggantikan semua modul loading yang kami pakai di React begitu aku masuk kerja hari ini. Karena itu jauh lebih baik daripada yang kami pakai sekarangMungkin aku salah memahami orang-orang atau salah membaca tulisannya, tetapi bahkan ketika hampir seluruh frontend berupa TypeScript seperti pada aplikasi besar masa kini, ini tetap sangat menarik
Ada aplikasi-aplikasi baru yang bisa dibuat dengan JavaScript jauh lebih sedikit dibanding sebelumnya. Pada aplikasi TypeScript enterprise yang sudah ada, ini mungkin bisa menjadi upgrade di tempat, tetapi harapannya adalah dalam pengembangan aplikasi baru kita bisa menghindari framework enterprise semacam itu sendiri. Boleh bermimpi, kan?
Saya tidak ingin sepenuhnya merendahkan pengembangan web, tetapi memang benar-benar mengerikan. Saya sudah melakukannya selama bertahun-tahun, dari HTML mentah sampai bahasa skrip dan framework, dan waktu yang dibutuhkan untuk melakukan hal-hal sepele terasa seperti pemborosan otak yang luar biasa
Saat pergi berlibur, saya hanya ingin mencari tempat makan dan minum atau tempat untuk mampir sehari, tetapi sebagian besar situsnya berantakan, usang, atau tidak diperbarui. Masih banyak situs yang dibuat sekali lalu dilupakan. Sepertinya karena anggarannya ketat sehingga tidak mampu memperbarui, atau karena memperbaruinya secara teknis terlalu sulit
Kompleksitas situs membuat orang lumpuh. Sesuatu yang cukup berupa beberapa halaman teks dan gambar sederhana malah direkayasa berlebihan tanpa perlu dan membakar siklus CPU dalam jumlah besar. Besar kemungkinan juga dibuat dengan mengutak-atik CMS siap pakai yang butuh pembaruan keamanan
Baru-baru ini saya melihat situs bioskop, dan bahkan sekadar menelusuri beberapa film yang diputar minggu itu saja hampir mustahil. Saya merasa akan lebih mudah dibaca jika dimasukkan ke spreadsheet, dan ketika benar-benar mengunduh JSON dari API-nya, itu memang lebih mudah dibaca
Kebanyakan hanyalah kemasan melelahkan seperti memoles babi dengan lipstik. Salah satu alasan Facebook berhasil adalah onboarding yang mudah, dan alasan lain adalah mudahnya berbagi foto. WhatsApp dan Instagram juga sama. Publikasi harus mudah. FTP sederhana pun sebenarnya mudah, tetapi bagi orang biasa ada semacam keterputusan aneh dalam alur penggunaannya. Orang menginginkan drag-and-drop, unggah, tinggalkan dan lupakan, serta penyuntingan yang mudah. Orang yang ingin mengonsumsi data pada akhirnya hanya menginginkan intinya. Yaitu datanya
Yang diinginkan orang adalah halaman web yang ditata dengan baik dan bisa digunakan. Masalahnya adalah tidak cukup banyak desainer pengalaman pengguna yang efektif dan berbakat, dan para pemangku kepentingan perusahaan juga kurang memiliki selera UX yang layak
Karena itu, menyediakan data inti saja akhirnya menjadi situasi yang lebih baik bagi pengguna rata-rata dibanding UX buruk yang mampu dibuat perusahaan rata-rata. Meski bukan yang disukai, itu tetap lebih baik
{UX buruk} << {data mentah} < {UX baik}Jalan pintas yang ditemukan WordPress adalah membuat gaya dan tema profesional lalu membiarkan pengguna membelinya dan menerapkannya. Namun itu tetap tidak bisa mengatasi selera buruk para pemangku kepentingan
Saya pikir Facebook berhasil karena memaksakan UX yang profesional dan terstandardisasi.
{data orang-orang} + {UX profesional dan terstandardisasi} = {kemenangan}. Anda boleh saja tidak menyukai UX awal Facebook, tetapi sulit mengatakan itu pekerjaan tingkat amatir. Persepsi umum terhadap MySpace atau Geocities dan sejenisnya justru sebaliknyaKalau ingin mencari sesuatu seperti kawat kasa, saya mulai dengan bertanya di grup WhatsApp tempat saya bergabung, grup keluarga, lingkungan, atau teman SMA. Biasanya saya mendapat beberapa nomor, lalu menghubungi penyedia layanan lewat WhatsApp untuk mendapatkan informasi terbaru
Para penyedia layanan itu tidak mampu mengelola situs web yang mutakhir. WhatsApp juga punya fitur untuk menaruh katalog di profil, dan itu untuk akun bisnis gratis
Yang ingin saya lihat adalah sesuatu seperti “Wix Widgets”. Widget terhubung data dengan kustomisasi sebatas menghubungkan pemanggilan layanan REST dan memetakan titik data ke tampilan widget. Ini akan cukup membantu menangani kebutuhan situs web internal yang sekarang ada di semua perusahaan
Untuk 90–95% halaman web, yang benar-benar dibutuhkan adalah solusi sederhana
Saya jadi bertanya-tanya apakah mungkin inilah hakikat GUI. Semua instruksi harus diberikan satu per satu, memakan banyak siklus, dan jika tidak begitu, strukturnya tidak akan berjalan lintas platform
articledansectionTentu saja, kode HTML mentah sejak awal mungkin memang tidak dibuat untuk dibaca oleh siapa pun selain developer, jadi ada sisi itu juga
Saya sangat antusias mendengar bahwa modal HTML murni sudah ada, tetapi kecewa ketika tahu tidak ada cara untuk memicunya tanpa JavaScript. Dengan HTML murni, modal hanya bisa ditutup, tidak bisa dibuka
https://github.com/whatwg/html/issues/3567
Elemen
dialogadalah tambahan yang bagus dan saya senang sedang diimplementasikan, tetapi sebagian fitur intinya bergantung pada JavaScript. Untuk membukadialog, atributopenharus disetel dengan JavaScriptAkan bagus jika elemen
buttonatauapunya cara untuk membuka kotak dialog. Preseden untuk interaksi halaman yang tertanam di HTML sudah ada. Misalnya, tautan bisa menggulir halaman, dan elemendetailsbisa menyembunyikan elemen di balik interaksi, jadi rasanya wajar jika elemen halaman lain juga bisa membukadialogMisalnya, coba klik
?di kanan atas di sini: https://aavi.xyz/proj/colors/onclick