我有一个要求,在我的HTML页面中有一个锚标记。
<a aria-label="Back Button" class="secondary-button btn-font" title="Back" ngClass="btn-font"
ngClass.xl="btn-font-xl" i18n-title='importantFacts@@back-button' id="backButton"
i18n="@@importantFacts-back-button" routerLink="/apply-for-benefit/verification">
Back
</a>
我的要求是,JAWS 2022将其读作"后退按钮",但JAWS将其读为"后退按钮链接"。我知道这是一个锚标签,它应该将其作为链接来阅读,但有没有一种方法可以将其作为"后退按钮"来阅读?我已经尝试过使用元素,但它不能满足其他一些要求。只有锚定标记可以。我也尝试过将"role"值作为"button"赋予锚点标记,但同样地,其他要求没有得到满足。请帮忙。
听起来您已经尝试了正确的解决方案-设置role
。
<a role="button">Back</a>
你不需要aria-label
,因为你链接的内容已经有了要宣布的文本,";返回";。即使您想要一个咏叹调标签,也不应该指定标签本身的角色。也就是说,不要使用aria-label="back button"
,而只使用aria-label="back"
。
顺便说一下,链接和按钮是完全不同的东西。链接应用于导航目的——转到新页面或导航到同一页面上的不同位置。按钮应用于";动作";。
从键盘的角度来看,链接只允许enter键选择它们,而按钮允许enter和空格格,它将滚动页面(大多数浏览器的默认行为是在按空格时滚动页面(。
此外,如果屏幕阅读器用户听到";链接";,他们不仅会认为他们被导航到某个地方;背面";按钮将它们带回以前的位置。按钮没有这种行为。
因此,您确实需要考虑在链接上设置role="button"
而不是使用真正的<button>
是否正确。如果确实希望在链接上使用role="button"
,那么您还需要一个键盘事件处理程序来允许空间如上所述工作。