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