- From: Reece Dunn <msclrhd@googlemail.com>
- Date: Mon, 7 Jul 2014 23:48:30 +0100
- To: Christoph Päper <christoph.paeper@crissov.de>
- Cc: www-style list <www-style@w3.org>
On 7 July 2014 22:56, Christoph Päper <christoph.paeper@crissov.de> wrote: > Tab Atkins Jr. <jackalmage@gmail.com> @ 2014-05-23: >> On Thu, May 22, 2014 at 2:09 AM, James Craig <jcraig@apple.com> wrote: >>> <ul class="io"> >>> <li>2+2</li> >>> <li>4</li> >>> </ul> >>> >>> ⋗ 2+2 >>> ⋖ 4 >>> >>> Input: 2+2 >>> Output: 4 >> >> /* Shared system for all the non-speak-as details of the counter style */ >> @counter-style io { system: cyclic; symbols: '⋗' '⋖'; suffix: " "; } >> >> /* Localized systems */ >> @counter-style io-en { system: extends io; speak-as: io-en-spoken; } >> @counter-style io-es { system: extends io; speak-as: io-es-spoken; } >> @counter-style io-de { system: extends io; speak-as: io-de-spoken; } >> >> /* Spoken systems */ >> @counter-style io-en-spoken { system: cyclic; symbols: "Input: ", >> "Output: "; speak-as: words; } >> @counter-style io-es-spoken { system: cyclic; symbols: "Entrada: ", >> "Salida: "; speak-as: words; } >> @counter-style io-de-spoken { system: cyclic; symbols: "Eingang: ", >> "Ausgang: "; speak-as: words; } >> >> /* Selectors to actually assign the counter styles */ >> ul.io:lang(en) { counter-style: io-en; } >> ul.io:lang(es) { counter-style: io-es; } >> ul.io:lang(de) { counter-style: io-de; } > > I’m not sure I completely understand the problem, There are two problems based around localizing speak-as for different languages (to support correctly reading out custom counter styles to assistive technologies like screen readers and text-to-speech programs). 1. The user wants to localize a word or simple phrase for different languages (e.g. they want to localize the word "bullet" on a bullet counter style, or "expand" and "collapse" on disclosure-open/disclosure-close). 2. The user wants to customize the localization for a given language to handle grammatical differences in that language (e.g. ein/eine/eins in German). For (2), you may not be able to handle all languages equally using the same counter style pattern, or grouping (Korean has numbers grouped in 4 digits, Etheopic in groups of 2 digits). Likewise, British English usually places an "and" after hundreds, e.g. "two hundred and twenty one" instead of the American English "two hundred twenty one". Putting the :lang() selectors on the ul/etc. items means that the localization is now partially dependent on the way your layout is constructed. Being able to place :lang() on a counter-style would keep the counter style definition self contained. Thanks, - Reece H. Dunn > > :root, /* default */ > :root:lang(en) {--input: "Input"; --output: "Output";} > :root:lang(es) {--input: "Entrada"; --output: "Salida";} > :root:lang(de) {--input: "Eingabe"; --output: "Ausgabe";} > > @counter-style io { > system: cyclic; > symbols: '⋗' '⋖'; > suffix: " "; > speak-as: io-spoken; > } > @counter-style io-spoken { > system: cyclic; > symbols: var(--input), var(--output); > suffix: ": "; > speak-as: words; > } > ul.io { > counter-style: io; > } > >
Received on Monday, 7 July 2014 22:48:58 UTC