Is there a standard way to make screen readers spell out numbers?
I am currently using NVDA and Firefox and have the following telephone number
<p>01234 567890</p>
This is read as
Zero one two three four five hundred and sixty seven thousand eight hundred and ninety
This is quite confusing to the listener. I would like some way of specifying that the screen reader should spell out the number like
Zero one two three four five six seven eight nine zero
To format phone numbers in the US, Canada, and other NANP (North American Numbering Plan) countries, enclose the area code in parentheses followed by a nonbreaking space, and then hyphenate the three-digit exchange code with the four-digit number.
The UK mobile phone number '07911 123456' in international format is '+44 7911 123456', so without the first zero. Secondly in the E. 164 notation all spaces, dashes ['-'] and parentheses [ '(' and ')'] are removed, besides the leading '+' all characters should be numeric.
A screen reader uses a Text-To-Speech (TTS) engine to translate on-screen information into speech, which can be heard through earphones or speakers. A TTS may be a software application that comes bundled with the screen reader, or it may be a hardware device that plugs into the computer.
Maybe the speak-numeral
property in you stylesheet?
The speak-numeral property is used only in Aural Stylesheets.
The aural rendering of a document combines sounds and voices to go through the content of a document. Aural presentation occurs often by converting the document to plain text and then feeding this to a screen reader.
Situations and markets for listening to information could be:
- for blind people
- in the car
- help users learning to read
The speak-numeral property specifies how numerals will be spoken.
Source: http://www.w3schools.com/xslfo/prop_speak-numeral.asp
Also, I found this post helpful: http://www.nicksmith.co.uk/blog/2007/11/09/does-your-screen-reader-read-phone-numbers-properly/
I then came up with the following idea:
0<span>7000</span> 1<span>2</span>1 0<span>2</span>2
In VoiceOver this reads “zero, seven thousand, one, two, one zero, two, two”. Notice I kept the ’7000′ as one number; to me “seven thousand” is more memorable than “seven zero zero zero”.
and further
My research into aural CSS properties found that the property I’d need is already there – ‘speak-numeral: digits;’
I don’t know if (or which) screen readers support these, but (in an ideal world) they should.
speak-numeral: digits;
Speak the numeral as individual digits. Thus, "237" is spoken "Two Three Seven".
speak-as: digits;
Speak numbers one digit at a time, for instance, "twelve" would be spoken as "one two", and "31" as "three one".
tel
URIRFC 3996: The tel URI for Telephone Numbers
So instead of
<p>01234 567890</p>
you would have something like
<a href="tel:01234-567890">01234 567890</a>
phone
property
telephone
property
tel
class (hCard)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With