有没有一种标准的方法可以让屏幕阅读器拼出数字?我目前正在使用NVDA和Firefox,电话号码如下
<p>01234 567890</p>
这读作零一二三四五十六万七千八百九十这会让听众很困惑。我想用某种方法来指定屏幕阅读器应该拼写出数字,如零一二三四五六七八九零
l7mqbcuq1#
也许是样式表中的speak-numeral属性?speak-numeric属性仅在听觉样式表中使用。文档的听觉呈现结合声音和语音来浏览文档的内容。听觉呈现通常通过将文档转换为纯文本,然后将其提供给屏幕阅读器来实现。听取信息的情况和市场可以是:
speak-numeral
speak-numeric属性指定如何读出数字。来源:http://www.w3schools.com/xslfo/prop_speak-numeral.asp此外,我发现这篇文章很有帮助:http://www.nicksmith.co.uk/blog/2007/11/09/does-your-screen-reader-read-phone-numbers-properly/于是我想到了下面这个主意:0<span>7000</span> 1<span>2</span>1 0<span>2</span>2在画外音中,这个数字是"零,七千,一,二,一零,二,二"。注意,我把"7000"保留为一个数字;对我来说,"七千"比"七零零"更令人难忘。并且还我对听觉CSS属性的研究发现,我需要的属性已经存在了--"speak-numeric:数字;'
0<span>7000</span> 1<span>2</span>1 0<span>2</span>2
3pvhb19x2#
我不知道屏幕阅读器是否(或哪些)支持这些功能,但(在理想情况下)它们应该支持。
speak-numeral: digits;
把数字读成单个的数字。因此,"237"读成"二三七"。
speak-as: digits;
一次说一个数字,例如,"十二"会说成"一二","三十一"会说成"三一"。
tel
RFC 3996: The tel URI for Telephone Numbers所以与其说
你会得到这样的结果
<a href="tel:01234-567890">01234 567890</a>
phone
telephone
guykilcj3#
我认为最好的方法是这样写号码,它的语义是正确的,(打破了Brail用户的经验,见@slugolicious评论) 使屏幕阅读器宣布电话号码的数字
<a href="tel:01234567890" aria-label="0 1 2 3 4 5 6 7 8 9 0" > 01234 567890 </a>
如果你使用Twig作为模板引擎,你可以这样做
<a href="tel:01234567890" aria-label="{{ "01234567890"|split('')|join(' ') }}" > 01234 567890 </a>
学分:https://jhalabi.com/blog/accessibility-phone-number-formatting
cidc1ykv4#
可以使用字符拆分
int[] numbers; for(int i = 0; i<string.length; i++) { numbers.add(string[i]); }
注意代码没有经过测试,因为我不知道你用的是什么语言java,c#,perl
4条答案
按热度按时间l7mqbcuq1#
也许是样式表中的
speak-numeral
属性?speak-numeric属性仅在听觉样式表中使用。
文档的听觉呈现结合声音和语音来浏览文档的内容。听觉呈现通常通过将文档转换为纯文本,然后将其提供给屏幕阅读器来实现。
听取信息的情况和市场可以是:
speak-numeric属性指定如何读出数字。
来源:http://www.w3schools.com/xslfo/prop_speak-numeral.asp
此外,我发现这篇文章很有帮助:http://www.nicksmith.co.uk/blog/2007/11/09/does-your-screen-reader-read-phone-numbers-properly/
于是我想到了下面这个主意:
0<span>7000</span> 1<span>2</span>1 0<span>2</span>2
在画外音中,这个数字是"零,七千,一,二,一零,二,二"。注意,我把"7000"保留为一个数字;对我来说,"七千"比"七零零"更令人难忘。
并且还
我对听觉CSS属性的研究发现,我需要的属性已经存在了--"speak-numeric:数字;'
3pvhb19x2#
我不知道屏幕阅读器是否(或哪些)支持这些功能,但(在理想情况下)它们应该支持。
CSS:听觉
speak-numeral: digits;
把数字读成单个的数字。因此,"237"读成"二三七"。
speak-as: digits;
一次说一个数字,例如,"十二"会说成"一二","三十一"会说成"三一"。
HTML:
tel
URIRFC 3996: The tel URI for Telephone Numbers
所以与其说
你会得到这样的结果
HTML:词汇表
phone
属性telephone
propertytel
class (hCard)guykilcj3#
我认为最好的方法是这样写号码,它的语义是正确的,(打破了Brail用户的经验,见@slugolicious评论) 使屏幕阅读器宣布电话号码的数字
如果你使用Twig作为模板引擎,你可以这样做
学分:https://jhalabi.com/blog/accessibility-phone-number-formatting
cidc1ykv4#
可以使用字符拆分
注意代码没有经过测试,因为我不知道你用的是什么语言java,c#,perl