“跳过导航”链接在 Google Chrome 中不起作用

And*_* Li 5 html anchor accessibility google-chrome

我按照此页面创建了“跳过导航”链接,但它在 Chrome (5.0.375.127) 中不起作用。

当我按 Tab 键并输入链接时,它会滚动到内容,但是当我继续按 Tab 键时,它会从顶部开始,而不是从内容开始。

该页面的跳过“跳过导航”链接在 Chrome 中也不起作用。

这是Chrome的一个bug吗?有什么解决办法吗?

And*_* Li 1

我得到它。目标应该是一个可以聚焦的标签,比如链接,如果不是,我的例子是一个div,应该将目标的tabindex设置为-1。

我的 jQuery 解决方案(带有ScrollTo 插件)是:

$("a[href^='#']")
    .click(function(evt){
        var j = $(evt.currentTarget);
        var anchorTarget = j.attr("href");
        $("body")
            .scrollTo(anchorTarget, 500, {
                onAfter:function() {
                    window.location.hash = anchorTarget.substr(1);
                    $(anchorTarget).attr("tabindex",-1).focus();
                }
            });

        evt.preventDefault();
    });
Run Code Online (Sandbox Code Playgroud)