Aria-hidden 不适用于 Firefox 和 JAWS 中的按钮

Aria-hidden does not work with buttons in Firefox and JAWS

<a href="#" role="button" >
     <span aria-hidden="true"> First</span>
     <img src="D:/kk.JPG" alt="First name" width="20px" height="20px"/>
</a>

JAWS 将其读作 First First name button 而不是 First name button

这是 Firefox 的问题吗?我如何解决这个 没有 使用 aria-label 作为外部锚标记。

这里的问题是 JAWS 不考虑这个元素本身,但它用于计算 link.

的文本替代项

要解决此问题,您可以尝试从 img 备用名称中删除多余的文本。

我会猜测这里图片 alt 的相关性,因为它在 link 和其他文本中,所以你不必描述图片,但目的link.

当然,如果你不这么说,我会建议使用aria-label

见下页:webaim.org/blog/alt-text-and-linked-images 在上面的例子中,因为 link 中的文本提供了图像的内容和 link 的功能,所以图像本身可以被赋予一个空的 alt 值。 link 中的图像非常具体:您不必考虑图像替代方案,而是 link 替代方案。

根据 WCAG,当图像是 link 中的唯一元素时,它应该描述 link 的用途。当您在唯一的其他元素上使用 aria-hidden=true 时,您就会陷入这种情况。因此:这张图片的 alt 应该描述 link 的目的,你必须忘记图片的描述。话虽这么说,因为这在Jaws/Firefox中不起作用,如果你能去掉多余的部分,这是最好的选择