通过IE10中的内容进行制表

时间:2015-05-05 16:04:05

标签: javascript html angularjs accessibility internet-explorer-10

我正在开发一个角度应用程序,其中某些UI元素需要通过按Tab键来访问,这是出于可访问性原因。作为一个例子,当你点击/点击按钮返回时,我们有内容区域可以打开和关闭。我不希望按钮触发页面刷新,所以我目前有一个空的href。打开/关闭内容区域的链接如下所示

<a href>The link<a>

这在每个浏览器中都能正常工作但是IE10,在IE10上你不能选中href,除非它包含一个值,例如

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

有没有人知道在IE10中修复此问题。我知道我可以编写一些js来防止默认操作,但如果还有另外一种解决方法,我宁愿不必为这样的东西添加额外的js。

2 个答案:

答案 0 :(得分:3)

您可能希望使用button,而不是a

a element without href attribute“表示一个占位符,否则链接可能放在哪里,如果它是相关的,只包含元素的内容”。这似乎不是你想传达的。

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

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

它带有button WAI-ARIA role(“单击或按下时允许用户触发操作的输入。”)并且默认情况下是可聚焦的。

答案 1 :(得分:2)

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

  1. tabindex="0"添加到锚点
  2. href="javascript:;"添加到锚点,或
  3. href="#"添加到锚点
  4. 第一个和第二个选项的优点是它们不需要调用event.preventDefault()来阻止页面不断滚动回顶部。