Ya - ini mungkin. Untuk melakukannya, Anda perlu menetapkan tabindex ...
<div tabindex="0">Hello World</div>
Tabindex 0 akan menempatkan tag "pada urutan tab alami halaman". Angka yang lebih tinggi akan memberinya urutan prioritas tertentu, di mana 1 akan menjadi yang pertama, 2 detik dan seterusnya.
Anda juga bisa memberikan tabindex -1, yang akan membuat div hanya bisa fokus dengan skrip, bukan pengguna.
document.getElementById('test').onclick = function () {
document.getElementById('scripted').focus();
};
div:focus {
background-color: Aqua;
}
<div>Element X (not focusable)</div>
<div tabindex="0">Element Y (user or script focusable)</div>
<div tabindex="-1" id="scripted">Element Z (script-only focusable)</div>
<div id="test">Set Focus To Element Z</div>
Jelas, memalukan memiliki elemen yang dapat Anda fokuskan dengan skrip yang tidak dapat Anda fokuskan dengan metode input lainnya (terutama jika pengguna hanya menggunakan keyboard atau memiliki kendala serupa). Ada juga sejumlah elemen standar yang ada difokus secara default dan memiliki informasi semantik yang dibuat untuk membantu pengguna. Gunakan pengetahuan ini dengan bijak.