I18N-ISSUE-139: Multilingual q nesting [HTML5]

I18N-ISSUE-139: Multilingual q nesting [HTML5]

http://www.w3.org/International/track/issues/139

Raised by: Richard Ishida
On product: HTML5

4.6.7 The q element
http://www.w3.org/TR/html5/text-level-semantics.html#the-q-element

Not discussed in the i18n WG yet, but tracked by i18n tracker.


[I'm putting this here as a placeholder, since we're near to the end of last call, and i need more time to consider but will be away on vacation.]

I'm wondering whether we need a way to reset the embedding levels of quotes.  This may involve markup, rather than just CSS (that's what I need to think more about).

Here's the reason:

If you have the following CSS:

:lang(en) > * { quotes: '"' '"' "'" "'"; }
:lang(no) > * { quotes: "«" "»" '"' '"' }

And you have 

<p lang=no>Some Norwegian text <q>more norwegian <q>more norwegian</q></q>.</p>

You'd expect to see

Some Norwegian text «more norwegian "more norwegian"».

which perfectly fine.

But if you had 

<p lang=en>Some English text <q lang=no>Some norwegian <q>more norwegian</q></q>.</p>

Then I think you'd see 

Some English text "Some norwegian "more norwegian"".

I'd have thought that the quotes surrounding the text 'more norwegian' here should be surrounded by «...». This could maybe be done by a rule that says that if a q element carries a lang attribute, the next embedded q attribute should use the highest level quote marks. Or perhaps it needs some attribute to reset the levels?

In addition, maybe that would also give you more control over how the quotes are used in other situations (such as to replicate the original text) - although perhaps that's best achieved using special class names or just by avoiding q altogether.  

Received on Thursday, 28 July 2011 17:15:50 UTC