我正在开发一个角度应用程序,其中某些UI元素需要通过按Tab键来访问,这是出于可访问性原因。作为一个例子,当你点击/点击按钮返回时,我们有内容区域可以打开和关闭。我不希望按钮触发页面刷新,所以我目前有一个空的href。打开/关闭内容区域的链接如下所示
<a href>The link<a>
这在每个浏览器中都能正常工作但是IE10,在IE10上你不能选中href,除非它包含一个值,例如
<a href="#">The link<a>
有没有人知道在IE10中修复此问题。我知道我可以编写一些js来防止默认操作,但如果还有另外一种解决方法,我宁愿不必为这样的东西添加额外的js。
答案 0 :(得分:3)
您可能希望使用button
,而不是a
。
a
element without href
attribute“表示一个占位符,否则链接可能放在哪里,如果它是相关的,只包含元素的内容”。这似乎不是你想传达的。
按钮状态中的button
element适用于您的情况:
<button type="button">…</button>
它带有button
WAI-ARIA role(“单击或按下时允许用户触发操作的输入。”)并且默认情况下是可聚焦的。
答案 1 :(得分:2)
有几种方法可以解决这个问题:
tabindex="0"
添加到锚点href="javascript:;"
添加到锚点,或href="#"
添加到锚点第一个和第二个选项的优点是它们不需要调用event.preventDefault()
来阻止页面不断滚动回顶部。