Vâng - điều này là có thể. Để làm điều đó, bạn cần chỉ định một tabindex ...
<div tabindex="0">Hello World</div>
Một tabindex bằng 0 sẽ đặt thẻ "theo thứ tự tab tự nhiên của trang". Một số cao hơn sẽ cung cấp cho nó một thứ tự ưu tiên cụ thể, trong đó 1 sẽ là đầu tiên, 2 giây và cứ thế.
Bạn cũng có thể đưa ra một tabindex là -1, điều này sẽ khiến div chỉ có thể lấy nét theo tập lệnh chứ không phải người dùng.
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>
Rõ ràng, thật đáng tiếc khi có một yếu tố bạn có thể tập trung theo tập lệnh mà bạn không thể tập trung bằng phương thức nhập khác (đặc biệt là nếu người dùng chỉ sử dụng bàn phím hoặc bị hạn chế tương tự). Ngoài ra còn có một loạt các yếu tố tiêu chuẩn có thể tập trung theo mặc định và có thông tin ngữ nghĩa được đưa vào để hỗ trợ người dùng. Sử dụng kiến thức này một cách khôn ngoan.