在包含输入元素的页面上通过链接启用制表符
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/
我想让用户能够通过页面链接切换。
这是大多数浏览器的默认行为,但是一旦页面包含 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/