Вы действительно можете вызвать focus()
только для элемента с атрибутом tabindex
. (Исключением из этого правила являются «нативные» элементы пользовательского интерфейса, такие как button
, a
и input
, которые можно фокусировать по умолчанию).
Если вы хотите focus()
что-то без Включая его в последовательность вкладок, используйте tabindex="-1"
.
Для компонентов вам придется тщательно выбирать, куда поместить tabindex. Обычно вы помещаете этот атрибут в элемент, который несет семантику. (т. е. если вы хотите сосредоточиться на <h1>
, используйте <h1 tabindex="-1">
, а не на каких-либо элементах-оболочках или потомках). С компонентами это может быть сложнее, особенно если компонент представляет собой составной виджет, но это уже другая история.