在包含输入元素的页面上通过链接启用制表符

Enable tabbing through links, on page containing input elements

我想让用户能够通过页面链接切换。

这是大多数浏览器的默认行为,但是一旦页面包含 input 元素,它就会成为(取决于浏览器)页面上唯一的可标记元素,例如a 个无法通过键盘访问的元素。无论是否设置 tabindex,这都不会改变。

请看下面的例子。聚焦输入元素并按tab几次;虽然 Chrome 会聚焦链接,但 Firefox 和 Safari 会跳过这些元素。

<div>
  <form>
    <input type="text" tabindex="0">
     <button tabindex="0">send</button>
  </form>
</div>
<a href="#" tabindex="0">Link</a>
<a href="#" tabindex="0">Link</a>

如何在没有JavaScript的情况下实现跨浏览器键盘导航并规避这个问题?

我认为这里没有您需要解决的问题。

Apple 处理可访问性的方式略有不同,并且必须启用用户首选项以允许在链接之间使用 Tab 键。此行为在可访问性社区中众所周知,我不建议实施任何自定义解决方案来修改此行为,因为它可能只会产生其他问题。

这篇文章更详细地解释了: http://www.weba11y.com/blog/2014/07/07/keyboard-navigation-in-mac-browsers/