NVDA/Firefox 将您的示例称为“38 点 57 美元”。情况不妙。
如果您只是<p>$38.57</p>
将其编码为“美元三十八点五七”。尽管这看起来/确实令人不快,但这是 NVDA 用户所期望的。
例如,如果我去亚马逊,我会以1.29美元的价格买到“1 点 2 9 美元” 。Target 经历了一场广为人知的无障碍诉讼,聘请了一家无障碍咨询公司,建立了无障碍团队,并对屏幕阅读器进行了广泛的测试,宣布39.99美元为“39 点九九美元”。
所以你可能想做的最重要的事情就是不要让NVDA 用户在他们想要花钱的时候感到困惑。以不同于他们预期的方式呈现美元价值可以做到这一点。
但是,如果您坚持这必须发生,您可以使用aria-hidden
从 NVDA 中隐藏您不喜欢的值,然后您可以在其后的页面中写入您想要的短语,通过关闭对所有其他用户隐藏它-screen CSS 技术旨在做到这一点。
您的新 HTML:
<p aria-hidden="true">
$38.57
</p>
<span>38 dollars and 57 cents</span>
显然,您需要将美元金额分成两个变量,每个变量写两次。
aria-hidden="true"
隐藏屏幕阅读器中的文本<p>
,因此屏幕阅读器只会阅读<span>
.
现在 CSS 对<span>
您的用户隐藏内容:
p[aria-hidden=true] + span {
position: absolute;
clip: rect(1px 1px 1px 1px);
clip: rect(1px, 1px, 1px, 1px);
padding: 0;
border: 0;
height: 1px;
width: 1px;
overflow: hidden;
}
您显然需要根据您的元素、ID、类等更改选择器。