如何使用ARIA用非直觉文本Tabel标记按钮



我的按钮看起来像这样:

<button type="button">
    Remove
</button>

上下文,可以看到的用户将能够说出按钮指的是可以删除的特定产品。但是,对于有视力障碍的用户,文本"删除"的信息不足以帮助您删除的内容。

我知道,根据MDN Web文档,aria-label应该用如下:

在屏幕上不可见文本标签的情况下,请使用它

我也知道aria-labelledby应该用来将其他标记与标记的元素相关联。但是,在我的按钮的情况下,按钮本身包含标签。碰巧的是,标签本身不够描述。

此时,您可能会问为什么我不只是更改按钮文字!碰巧的是,UX团队不想更改可见的按钮文本,因此我离开了试图弄清按钮的访问性而不更改按钮的可见部分。

无论如何,在这种情况下该怎么做有定义的规格?我的倾向是使用aria-label,但我不是肯定的,这本身是符合ARIA的。

预先感谢!

无论如何,在这种情况下该怎么做有定义的规格?我的倾向是使用Aria-label,但我不是很肯定的,这本身是符合ARIA的

是的,你可以。

aria-label属性将被使用并替换内部文本。

用于文本替代计算的规格确实定义了aria-label的优先级(步骤2C),而仅在不存在的情况下才会使用内容(步骤2F)

是的,您可以使用aria-label。通常,它优先于元素内的可见文本或文本(在大多数情况下使用jfw,nvda,vo,除了设置自定义设置时)。

<button aria-label="Remove article XYZ">Remove</button>

与图像的Alt属性一样,请确保ARIA-LABEL已足够,即,元素内的可见文本或文本很可能不会说,它被完全替换为咏叹调标签。对于我们的示例,标签中必须存在"删除"一词。

作为替代方案,而不是Aria-Label,您也可以使用CSS类来使文本仅由屏幕阅读器说:

<button>Remove <span class="sr-only">XYZ</span></button>

您将在Bootstrap等框架中找到相应的CSS代码。在这种情况下,可见的文本和屏幕读取器特定的文本都是一个接一个地说的。确保单词不粘在一起,否则可能存在发音问题。

最新更新