Ilustrasi Konsep Absolut Blank
Dalam dunia pengembangan perangkat lunak, terutama yang berkaitan dengan struktur dan navigasi web, istilah seperti absolut blank sering muncul. Meskipun terdengar teknis, konsep ini merujuk pada keadaan atau target tertentu yang sengaja dibuat kosong atau tidak mengarah ke konten yang sebenarnya. Memahami apa itu absolut blank sangat krusial, terutama ketika kita berbicara tentang keamanan tautan (link) dan perilaku membuka jendela baru pada browser.
Secara harfiah, absolut blank mengacu pada atribut target pada elemen HTML, khususnya pada tag <a> (anchor/tautan), yaitu target="_blank". Ketika atribut ini digunakan, browser diperintahkan untuk membuka tautan tujuan di jendela atau tab baru. Namun, "absolut blank" seringkali merujuk pada praktik tambahan yang diterapkan bersamaan: rel="noopener noreferrer" atau sejenisnya.
Ketika sebuah tautan menggunakan hanya target="_blank" tanpa atribut rel, hal ini menciptakan celah keamanan yang dikenal sebagai "tabnabbing". Dalam skenario ini, halaman baru yang dibuka (yang mungkin merupakan situs eksternal yang tidak terpercaya) mendapatkan akses ke objek window.opener dari halaman induk. Akses ini memungkinkan halaman baru tersebut untuk memanipulasi halaman induk, misalnya dengan mengarahkannya ke situs *phishing* melalui kode JavaScript seperti window.opener.location = 'http://situs-berbahaya.com'.
Untuk mengatasi kerentanan tabnabbing, diperkenalkanlah atribut rel="noopener". Ketika digunakan bersama target="_blank", noopener memastikan bahwa objek window.opener yang diakses oleh halaman baru adalah null. Dengan kata lain, halaman baru tersebut tidak memiliki referensi langsung ke halaman asli yang membukanya. Ini menciptakan kondisi yang lebih mendekati konsep absolut blank dari sisi keamananātautan terbuka terpisah tanpa hubungan berbahaya dengan induknya.
Selain noopener, seringkali ditambahkan noreferrer. Atribut rel="noopener noreferrer" memiliki dua fungsi utama: noopener menangani keamanan akses objek window.opener, sementara noreferrer mencegah pengiriman informasi perujuk (*referrer*) kepada situs tujuan ketika tautan diklik. Ini juga berkontribusi pada kondisi 'blank' atau terisolasi dari konteks navigasi asli.
Penggunaan absolut blank (dalam konteks membuka tab baru) harus dipertimbangkan dengan hati-hati dari sisi User Experience (UX). Memaksa pengguna untuk meninggalkan halaman utama secara tiba-tiba sering dianggap sebagai praktik yang buruk, kecuali jika konteksnya jelas, misalnya tautan ke dokumentasi eksternal, sumber referensi, atau tautan unduhan. Pengguna berharap tautan internal tetap berada di tab yang sama.
Secara performa, membuka tab baru memang memicu proses pemuatan sumber daya yang terpisah. Namun, jika tautan eksternal diimplementasikan dengan baik menggunakan rel="noopener noreferrer", dampaknya pada sesi pengguna di situs utama relatif minimal, karena keduanya berjalan independen. Situs yang mematuhi standar keamanan ini menunjukkan profesionalisme dan kepedulian terhadap keselamatan pengguna.
Kapan sebenarnya kita harus menggunakan target="_blank"? Jawabannya adalah ketika kita benar-benar yakin bahwa pengguna perlu mempertahankan konteks halaman saat ini sambil menjelajahi sumber daya baru. Contoh ideal meliputi:
Sebaliknya, untuk navigasi antar halaman dalam situs yang sama, seperti menuju halaman "Kontak Kami" atau "Tentang Kami", selalu gunakan tautan standar tanpa target="_blank". Memaksa tautan internal membuka tab baru hanya akan membebani memori browser pengguna dan menciptakan kebingungan navigasi. Konsep absolut blank harus digunakan secara selektif dan bertujuan untuk isolasi keamanan, bukan sebagai default untuk navigasi internal.
Kesimpulannya, meskipun absolut blank secara teknis sering dikaitkan dengan target jendela baru, esensi modern dari praktik ini adalah memastikan isolasi keamanan melalui atribut rel yang tepat. Ini adalah langkah penting dalam membangun web yang aman dan memberikan kontrol penuh atas sesi navigasi pengguna.