如果不存在合适的ARIA属性,我应该使用自定义ARIA属性吗?

时间:2019-01-28 03:02:06

标签: javascript html w3c wai-aria

我想确定一个元素可以在用户单击其后代时自动隐藏(使用JavaScript来实现)。

例如:

<div>
    <div aria-autohide>
        <a href="http://..." target="_blank">A Link</a>
    </div>
</div>

这是正确的方法吗?

1 个答案:

答案 0 :(得分:1)

虽然您可以创建自定义HTML tags并且可以创建custom attributes(通常以“ data-”开头),但您不能创建自定义的ARIA属性。有一个ARIA attributes that are mapped to certain properties in the accessibility API的预定义列表。如果要组成一个新的,则无法告诉辅助功能API属性的含义以及辅助技术(例如屏幕阅读器)应如何解释该属性。

您目前可以做的最好的事情就是将元素add visually hidden text移到元素上,以便屏幕阅读器在焦点(无论键盘焦点还是屏幕阅读器焦点)移到元素时读取它。

例如

<div>
  <div>
    <a href="http://..." target="_blank">A Link <span class="sr-only">selecting this link will cause this element to be hidden</span></a>
  </div>
</div>

有关“仅sr”类的信息,请参见What is sr-only in Bootstrap 3?