Selama bertahun-tahun, pengembang web menghadapi pilihan sulit saat membangun aplikasi visual yang sangat interaktif: mengandalkan DOM untuk fitur semantiknya yang kaya, atau merender ke elemen <canvas> demi performa grafis tingkat rendah. API HTML-in-Canvas yang baru dan bersifat eksperimental, kini tersedia dalam origin trial, menghilangkan pertukaran tersebut. API ini memungkinkan pengembang menggambar konten DOM langsung ke kanvas 2D atau tekstur WebGL/WebGPU, sambil tetap menjaga antarmuka tetap interaktif, mudah diakses, dan terhubung dengan fitur browser.
DOM adalah fondasi antarmuka web. DOM menyediakan tata letak teks bawaan dan konten yang dipahami secara semantik, serta mendukung operasi sehari-hari seperti menyorot teks untuk disalin atau mengklik kanan gambar untuk disimpan. DOM juga terintegrasi dengan alat aksesibilitas, terjemahan, pencarian dalam halaman, mode baca, ekstensi, mode gelap, zoom browser, dan isi otomatis. Kanvas, termasuk WebGL dan WebGPU, menawarkan akses piksel tingkat rendah untuk grafis 2D dan 3D tingkat lanjut, yang menjadi andalan game serta aplikasi kompleks seperti Google Docs dan Figma. Namun, karena kanvas adalah kisi piksel, antarmuka di dalamnya kehilangan integrasi browser tersebut dan sering kali memerlukan logika kustom yang rumit.
API HTML-in-Canvas menjembatani kesenjangan ini. Dengan menempatkan HTML di dalam elemen <canvas> dan menyinkronkan transformasinya, pengembang mendapatkan tata letak teks yang disederhanakan, kontrol formulir yang ekspresif, pemilihan teks dan menu konteks native, pengungkapan dalam pohon aksesibilitas, dukungan pencarian dalam halaman, kemampuan pengindeksan untuk crawler dan agen AI, kompatibilitas ekstensi, serta inspeksi melalui Chrome DevTools. Kasus penggunaannya meliputi aplikasi besar berbasis kanvas, adegan 3D dan game web, serta pengalaman WebXR imersif yang membutuhkan antarmuka DOM yang nyata dan interaktif.
Sumber: Hacker News · Diringkas oleh HeadlinesBriefing