Speech pronunciation of dates

I use the following CSS for a particularly WAI-compliant document:

@media aural{
BODY,.tel{speak-numeral:digits} /* Lots of phone numbers here. */
.qty{speak-numeral:continuous} /* And then only for numbers over 9. */
}

For quantities I use:
<P>This small sieve has <SPAN class=qty>4000</SPAN> holes.

For phone numbers I leave it alone:
<P>Tel. +44 1555 840293

But years before 2000 give me a problem;
I want this example spoken "nineteen seventy-two":

  a. <P>Opened 1972.
  b. <P>Opened <SPAN class=qty>1972</SPAN>.
  c. <P>Opened <SPAN class=qty>19</SPAN><SPAN class=qty>72</SPAN>.

(a) Will be pronounced "one nine seven two".
(b) Will be pronounced "one thousand nine hundred and seventy-two".
(c) Might work, but could be optimised back to (b) during parsing
by some user agents.

So I need a zero width character for breaking quantity pronunciation in
numeral sequences over which speak-numeral:continuous is in effect.

Maybe &zwqb; for zero width quantity break?:
<P>Opened <SPAN class=qty>19&zwqb;72</SPAN>.

This would leave the possible problem of the following visual/aural
interpretations of current browsers:

  - Opened 19-72.
  - Opened 19&zwqb;72.
  - "Opened "nineteen... seventy-two".
  - "Opened "nineteen and zed double-you queue bee; seventy-two".

So how about a new CSS property for years:
<P>Opened <SPAN style="speak-numeral:date">1972</SPAN>.

Perhaps it could be extended to cope with dates, eg:
<P>Opened <SPAN style="speak-numeral:date">20/2/1972</SPAN>.
Recognising only the ordinal property of the other components,
avoiding the European/American date format problem:
"Opened 20th, 2nd, nineteen seventy-two".

(For the current time, I have implemented (c) because there will be no
backwards-compatible loss relative to the current situation if optimisation
does occur.)

Received on Thursday, 28 October 2004 16:14:32 UTC