在 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。
有几种方法可以解决此问题:
- 将
tabindex="0"
添加到锚点
- 将
href="javascript:;"
添加到锚点,或
- 将
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."),默认情况下是可聚焦的。
我正在开发一个 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。
有几种方法可以解决此问题:
- 将
tabindex="0"
添加到锚点 - 将
href="javascript:;"
添加到锚点,或 - 将
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."),默认情况下是可聚焦的。