Firefox不允许通过角色按钮集中定位标记

问题描述 投票:0回答:1

在Firefox中,如果我指定了<a role="button" tabindex="0">Something</a>,则找不到一种方法使Tab可以使该元素聚焦。

在Safari / Chrome中,它可以正常工作。但是在Firefox中,除非将其更改为<div role="button" tabindex="0">Something</div>,否则它将无法正常工作。

[当我使用辅助工具时,我可以看到在两种情况下,角色都是pushbutton,但Firefox完全忽略了<a>。这是Firefox中的错误,还是我缺少什么?

我在Mac OS上,所以我知道这取决于设置,但是Safari是否能够将给定元素集中在Firefox上,为什么不呢?

html firefox browser accessibility user-experience
1个回答
1
投票

简短回答

如果这是一个按钮,请使用<button>元素,除非需要JavaScript后备,在这种情况下,请使用href属性使超链接有效。

更长的答案

无法复制此问题,但是可能是Mac OS + Firefox问题(就像我在Windows上一样,给定的示例在Firefox中按预期工作。]

我能看到的唯一不起作用的原因是您的HTML在语义上不正确,您尚未创建有效的超链接。

超链接必须具有有效的href属性。没有这个,它将不会注册为超链接。

[如果您不希望将其作为超链接(鉴于您已经给了它role="button"的事实,对我说您不希望将其作为超链接),那么为什么不使用<button>元素。

这是要使用的语义正确元素,语义是可访问性的关键。

[如果您打算将此作为超链接(这样做的唯一原因是不提供JavaScript的备用),那么您需要添加href="link"以使其成为有效的超链接。

您不需要tabindex="0",因为默认情况下锚标记是可聚焦的(只要它们如所述有效)。

© www.soinside.com 2019 - 2024. All rights reserved.