请访问 google.com 并搜索“词典”,通过 Tab 键导航并选择“跳到主要内容”:
按 Enter 键后,字典元素获得焦点:
当我检查它时,它是一个具有 aria-level
属性的 div,没有 tabindex
。
所以我的问题是一个不可聚焦的元素如何能够像这样获得焦点?
编辑:当我尝试将确切的 div 元素保存到全局变量中并调用 focus
时,它永远不会获得焦点。
最佳答案
当您在该消息上按 Enter 时,JavaScript 代码会将 tabindex="-1"
添加到该元素并将其聚焦。在输入之前:
之后:
当焦点离开元素(可能是 blur
事件处理程序)时,JavaScript 代码会从元素中删除 tabindex
。
如果右键单击该元素并在“元素”面板中显示它,然后在按 Tab 键时观察该元素,直到再次看到该元素,您就可以看到这一点。例如,如果您在打开“元素”面板和 Shift+Tab 后单击页面正文顶部附近的任意位置,最终您会再次看到相同的“显示主要内容”框,并且当您按输入,您可以看到添加了tabindex
(然后在您离开时看到它被删除)。
关于javascript - google.com 如何将选项卡焦点放在不可聚焦的元素上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70739439/