Да - это возможно. Для этого нужно назначить tabindex ...
<div tabindex="0">Hello World</div>
Tabindex, равный 0, поместит тег «в естественный порядок вкладок страницы». Более высокое число придаст ему определенный порядок приоритета, где 1 будет первым, 2 секунды и т. Д.
Вы также можете задать tabindex -1, что сделает div способным фокусироваться только по сценарию, а не по пользователю.
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>
Очевидно, стыдно иметь элемент, который вы можете сфокусировать с помощью скрипта, который вы не можете сфокусировать с помощью другого метода ввода (особенно, если у пользователя только клавиатура или аналогичные ограничения). Существует также целый ряд стандартных элементов, которые имеют фокусировку по умолчанию и содержат семантическую информацию, помогающую пользователям. Используйте это знание с умом.