我的网站上有一个简单的输入,例如:
<label for="input">How many months?</label>
<input id="input" type="text">
目前,焦点 NVDA 读取后:
“多少个月?
选择 50”
(50 是示例输入值)
NVDA 是否可以读取自定义选择值?喜欢:
“多少个月?
选择50个月”
对于像滑块这样的角色,有 aria-valuetext 但我没有看到任何其他有用的 aria 输入。
我的网站上有一个简单的输入,例如:
<label for="input">How many months?</label>
<input id="input" type="text">
目前,焦点 NVDA 读取后:
“多少个月?
选择 50”
(50 是示例输入值)
NVDA 是否可以读取自定义选择值?喜欢:
“多少个月?
选择50个月”
对于像滑块这样的角色,有 aria-valuetext 但我没有看到任何其他有用的 aria 输入。
不。
真的,不用担心。我知道这听起来很陈词滥调,但这是基于与屏幕阅读器用户多年合作(并尝试做你想做的事情)的真正建议。
大多数屏幕阅读器用户已经熟悉他们的屏幕阅读器如何朗读字段标签和值。通过尝试覆盖它,您会冒着让用户感到困惑的风险。
如果您与屏幕阅读器用户交谈,您可能会发现这是真的。这是一个非常普遍的问题,几周前它再次出现在 WebAIM 邮件列表中:http ://webaim.org/discussion/mail_message?id=34398
请注意线程中的这个有见地的评论:
事实上,有时如果你非常仔细地听屏幕阅读器用户说话,你会发现我们会像我们的屏幕阅读器一样发音 - 而我们甚至没有意识到这一点。
您将不得不使用脚本,并且您采用的任何方法都将变得不必要地复杂(这就是我什至不尝试提供示例代码的原因)。
我知道我已经将此作为对该问题的评论,但我认为将其作为正确答案可能是值得的。
做到这一点的唯一方法是在输入后使用 javascript 更新字段以将值“50”动态更改为“50 个月”。