【发布时间】:2017-06-25 00:44:23
【问题描述】:
我有一个与以下代码相关的问题。当用户标签进入窗口时,该代码用于强制焦点到“#skiptocontent”元素。我遇到的问题是,当我在整个站点中一直使用标签并再次到达地址栏时,我无法将标签返回到窗口中。有什么建议为什么会发生这种情况? & 也许是更好的方法来实现这一点?
$(window).keydown(function(e) {
if(e.keyCode === 9 && $("#skiptocontent a") !== undefined && $("#skiptocontent a").attr("data-focused") === "false") {
$("#skiptocontent a").focus();
$("#skiptocontent a").attr("data-focused", "true");
return false;
}
return true;
});
【问题讨论】:
-
元素是否真的有标签索引? (编辑:我看错了,但使用标签索引似乎仍然是解决方案)
-
不要这样做。改为
tabindex="1"。 -
强制焦点到特定元素不利于可访问性,您应该让浏览器本地处理它。
tabindex和autofocus等属性可用于告诉浏览器您希望发生什么。 -
@Ryan - 通常不鼓励使用 tabindex=1,因为它会导致标签排序混乱 - Don’t Use Tabindex Greater than 0
标签: javascript accessibility tabindex