Javascript 如何获取<;a>;当前使用tab键选择的元素?

Javascript 如何获取<;a>;当前使用tab键选择的元素?,javascript,html,accessibility,Javascript,Html,Accessibility,我有一个网页,其中有很多链接(大部分是mailto,但我不认为这是相关的),其中可访问性是一个优先事项。由于格式的原因,当使用tab键在页面上移动时,当前选定的链接通常不在屏幕底部,因为只有包含卡的最顶部可见:浏览器的内置自动滚动不够远。如何获取当前“选定”(用tab键突出显示)元素,以便手动控制滚动?获取您可以使用的页面的当前焦点元素 document.activeElement 要获取页面的当前焦点元素,可以使用 document.activeElement 您可以使用document.

我有一个网页,其中有很多链接(大部分是
mailto
,但我不认为这是相关的),其中可访问性是一个优先事项。由于格式的原因,当使用tab键在页面上移动时,当前选定的链接通常不在屏幕底部,因为只有包含卡的最顶部可见:浏览器的内置自动滚动不够远。如何获取当前“选定”(用tab键突出显示)元素,以便手动控制滚动?

获取您可以使用的页面的当前焦点元素

document.activeElement

要获取页面的当前焦点元素,可以使用

document.activeElement

您可以使用
document.activeElement.id


document.activeElement
提供对当前活动元素的引用。您可以像元素查询返回的内容一样使用它(
document.querySelector()

您可以使用
document.activeElement.id

document.activeElement
提供对当前活动元素的引用。您可以像元素查询返回的内容一样使用它(
document.querySelector()

如何获取当前“选定”(用tab键突出显示)元素,以便手动控制滚动

如果您知道当前使用tab键(使用
document.activeElement
)聚焦哪个元素,则还必须注意使用屏幕阅读器或任何其他辅助技术(例如,眼睛跟踪设备)时执行的自动滚动

当使用辅助技术时,滚动依赖于javascript检测标准键盘/鼠标事件或标准元素激活这一事实可能会有问题

不过,依赖内置的autoscroll(而不是您的解决方案)是最好的解决方案

如何获取当前“选定”(用tab键突出显示)元素,以便手动控制滚动

如果您知道当前使用tab键(使用
document.activeElement
)聚焦哪个元素,则还必须注意使用屏幕阅读器或任何其他辅助技术(例如,眼睛跟踪设备)时执行的自动滚动

当使用辅助技术时,滚动依赖于javascript检测标准键盘/鼠标事件或标准元素激活这一事实可能会有问题

不过,依赖内置的autoscroll(而不是您的解决方案)是最好的解决方案