在页面部分(哈希)链接上使用role =按钮在语义上是否正确?

时间:2018-04-11 20:30:41

标签: html accessibility semantic-markup wai-aria

我的链接指向页面中的部分。为了提高可访问性,我已将属性role="button"添加到这些属性中,因为我的理解是这些链接位于页面内,只是转到一个部分。但我不确定这样做是否合适。

<ul>
  <li><a role="button" href='#section1'>Go to section 1</a></li>
  <li><a role="button" href='#section2'>Go to section 2</a></li>
</ul>

<div style="height:15rem"></div>

<h2 id='section1'>Section 1</h2>

<div style="height:15rem"></div>

<h2 id='section2'>Section 2</h2>

1 个答案:

答案 0 :(得分:5)

没有

您有链接,这些链接用作链接。它们链接到同一页面的另一部分并不会使它们成为按钮。

请参阅WAI-ARIA Authoring Practices 1.1

  

按钮是一个小部件,可让用户触发操作或事件,例如提交表单,打开对话框,取消操作或执行删除操作。

你没有做这些事情。

它还说:

  

按钮执行的操作类型与链接功能明显不同(请参阅链接模式)。重要的是,窗口小部件的外观和角色都与它提供的功能相匹配。然而,元素偶尔会有链接的视觉风格,但执行按钮的操作。在这种情况下,给出元素角色按钮有助于辅助技术用户理解元素的功能。但是,更好的解决方案是调整视觉设计,使其与功能和ARIA角色相匹配。

...突出显示链接是另一回事。