gpt4 book ai didi

html - 如何明确标注屏幕阅读器的数字输入格式?

转载 作者:太空狗 更新时间:2023-10-29 14:53:31 25 4
gpt4 key购买 nike

我正在寻找一种易于访问的方式来定义一个字段是要接受整数还是小数。输入字段有两种:简单的 <input>这是十进制值(美元和美分),和一个 <input>尾随“.00”表示需要整数(仅限美元)。

例子:

Screen shot of two numeric fields

因为“.00”不在 <label> 中它不会被屏幕阅读器读取。我不得不使用一个丑陋的 hack 来使其易于访问:

<label>Total amount due ($): <span style="display:none;">Please enter dollars and cents</span></label>
<label>Amount owed ($): <span style="display:none;">Please enter a dollar amount</span></label>

(即使 span 是隐藏的,JAWS 也会在输入具有焦点时读取它。)

什么是一种更易于访问和语义化的方式来通知辅助技术正在请求哪种数字格式?

一些注意事项:

  • 在我的例子中,如果我需要一个整数,则不允许用户输入“123.45”然后在服务器上将其四舍五入为“123”。
  • 没有客户端验证,因此如果用户输入了错误类型的值,页面将返回并在字段中显示描述性错误消息。
  • 输入不能是type="number"由于浏览器插入的控件。

最佳答案

为什么不使用 Title 属性。在 <input type="text"/> 上,JAWS 和大多数其他读者读取 title 属性。所以扩展 DougM 的回答,比如

<label for="txtTotal">Total amount due ($): 
<input type="text" id="txtTotal"
title="Total amount due. Please enter dollars and cents." />
</input>

<label for="txtAmountOwed">Amount Owed($):
<input type="text" id="txtAmountOwed"
title="Amount owed. Please enter a dollar amount." />
</input>

我相信标题会覆盖 JAWS 中的标签,而在其他读者中会阅读两者,因此标题属性中的标签文本会重复。

关于html - 如何明确标注屏幕阅读器的数字输入格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20385507/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com