在 IE10 中用 Tab 键浏览内容

Tabbing through content in IE10

我正在开发一个 angular 应用程序,其中一些 UI 元素需要通过按 Tab 键来访问,这是出于可访问性的原因。例如,当您按下按钮 click/hit return 时,我们的内容区域会打开和关闭。我不希望按钮触发页面刷新,所以我目前有一个空的 href。 link 到 open/close 内容区域看起来像这样

<a href>The link<a>

这在除 IE10 之外的所有浏览器中都可以正常工作,在 IE10 上你不能切换到 href,除非它包含一个值,例如

<a href="#">The link<a>

有谁知道在 IE10 中解决这个问题。我知道我可以编写一些 js 来防止默认操作,但如果有其他解决方法,我宁愿不必为这样的事情添加额外的 js。

有几种方法可以解决此问题:

  1. tabindex="0"添加到锚点
  2. href="javascript:;"添加到锚点,或
  3. href="#"添加到锚点

第一个和第二个选项的优点是它们不需要调用 event.preventDefault() 来阻止页面不断滚动回顶部。

您可能想使用 button,而不是 a

一个a element without href attribute"represents a placeholder for where a link might otherwise have been placed, if it had been relevant, consisting of just the element's contents"。这似乎不是你想要传达的。

Button 状态中的 button element 适用于您的情况:

<button type="button">…</button>

它带有 button WAI-ARIA role ("An input that allows for user-triggered actions when clicked or pressed."),默认情况下是可聚焦的。