Re: Speech pronunciation of dates

> I use the following CSS for a particularly WAI-compliant document:
> 
> @media aural{

This whole article is rather academic given the lack of real implementation
of aural media types, but, in particular, you should note that 
@media aural is deprecated by CSS 2.1, in favour of a new, speech
type.  If I remember correctly, the new type is not at a suitable
approval level for CSS2.1 to use it normatively.

> BODY,.tel{speak-numeral:digits} /* Lots of phone numbers here. */

.tel is redundant, here.

> .qty{speak-numeral:continuous} /* And then only for numbers over 9. */
> }

> 
>   a. <P>Opened 1972.
>   c. <P>Opened <SPAN class=qty>19</SPAN><SPAN class=qty>72</SPAN>.
> 
> (a) Will be pronounced "one nine seven two".
> (c) Might work, but could be optimised back to (b) during parsing
> by some user agents.

It would be broken behaviour for them to optimise back as they would
basically be failing to treat HTML as structural.  However, it would
be an abuse of markup to artificially split a year as the effect
desired is presentational.  Moreover, it would cause translation 
problems.  Chinese, for example, reads years as in your case (a).

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

Again this is putting presentation into an inappropriate layer.

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

Firstly, the policy is not to introduce any more named entities, and 
some people interpret XHTML as only permitting the core XML names (as
the rest are in the DTD which general XML parsers aren't required to
read).

Secondly, named entities can only be defined for valid document characters,
so you would first need ISO and the Unicode Consortium to add this code
(although I haven't checked that there isn't already something suitable).

> 
> This would leave the possible problem of the following visual/aural
> interpretations of current browsers:
> 
>   - Opened 19-72.
>   - Opened 19&zwqb;72.

Because a name would never be allowed, you would only get a missing
glyph indication.

>   - "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>.

This comes down to what you want to bloat.  The correct solution is a
new XHTML element to markup years, but XHTML attempts to be simple and
resists demands for large number of precise markup elements.  This
would still require CSS support.  I think the problem with this in CSS
is that it is language dependent and CSS aims to describe the rules after
language dependencies are resolved, so this would really need to be 
called speak-numeral:english-year.
> 
> Perhaps it could be extended to cope with dates, eg:
> <P>Opened <SPAN style="speak-numeral:date">20/2/1972</SPAN>.

Definitely is an XHTML proposal, but if you were to propose this (I think
it may have been proposed before), as a new <date> element I would want
either the date to be given in ISO date format, with the localised date
as an attribute or styled in, or, less desirably, but easier to sell to
authors, with the ISO date as a mandatory parameter.

> Recognising only the ordinal property of the other components,
> avoiding the European/American date format problem:
> "Opened 20th, 2nd, nineteen seventy-two".

That's why you would need the ISO date.

Received on Thursday, 11 November 2004 20:54:23 UTC