Будет ли работать focus навешанный на форму

«Будет ли работать focus навешанный на форму» — вопрос из категории HTML, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, focus на форме работать не будет, так как форма сама по себе не является фокусируемым элементом. Фокус можно навесить только на интерактивные элементы внутри формы, такие как <input>, <button>, <select> и т.д.

Пример:

<form id="myForm">
  <input type="text" />
</form>

<script>
  // Не сработает
  document.getElementById('myForm').focus();

  // Сработает
  document.querySelector('#myForm input').focus();
</script>

Для фокусировки формы можно либо фокусировать первый интерактивный элемент внутри неё, либо добавить tabindex="-1" к форме, сделав её фокусируемой (но это нестандартное поведение).