google.com 如何将选项卡焦点放在不可聚焦的元素上

how can google.com put a tab focus on an element that is not focusable

请转至 google.com 并搜索 'dictionary',通过 Tab 键导航并 select“跳至主要内容”:

step1

按下回车后,字典元素获得焦点:

step2

当我检查它时,它是一个 div,带有 aria-level 属性,没有 tabindex

step3

所以我的问题是,一个不可聚焦的元素如何才能像那样聚焦?

编辑:当我试图将确切的 div 元素保存到全局变量中并调用 focus 时,它永远不会获得焦点。

当您在该消息上按 Enter 时,JavaScript 代码会将 tabindex="-1" 添加到该元素并聚焦它。在输入之前:

之后:

当焦点离开元素时(可能是 blur 事件处理程序),JavaScript 代码从元素中删除 tabindex

如果您右键单击该元素并将其显示在“元素”面板中,您可以看到它,然后在您按 Tab 键时观察该元素,直到您再次看到该元素。例如,如果您在打开元素面板和 Shift+Tab 后单击页面正文顶部附近的任意位置,最终您会再次看到相同的“显示主要内容”框,并且当您按 Enter 时,您可以看到 tabindex 被添加(然后当您离开时看到它被删除)。