W3C home > Mailing lists > Public > www-html@w3.org > December 2003

Re: [XHTML2] On the subject of handling quotations

From: Lachlan Hunt <lachlan.hunt@iinet.net.au>
Date: Sat, 13 Dec 2003 15:02:26 +1100
Message-ID: <3FDA8F52.8030800@iinet.net.au>
To: W3C HTML List <www-html@w3.org>

> To handle quotes correctly will require either a very complicated
> and mostly redundant structure for the quotation element that hand coders
> will absolutely despise or reverting back to what HTML 4 calls for, i.e.,
> for the user agent to add the quote marks.
   No, I disagree with this.  I do, however, agree with the current 
XHTML2 draft when it states, for the quote element:

"Visual user agents must not by default add delimiting quotation marks 
(as was the case for the q element in earlier versions of XHTML). It is 
the responsibility of the document author to add any required quotation 
marks, either directly in the text, or via a stylesheet."

   Requiring a UA to add them by default will, as your examples show, 
cause problems for multi-lingual documents.  Requiring authors to use 
CSS solves the problem because, as your examples also show, quotes can 
be specified based on the containg elements language.
> :lang(en)>*, :root:lang(en) { quotes: "\201C" "\201D" "\2018" "\2019"}
> :lang(fr)>*, :root:lang(fr) { quotes: "\00AB" "\00BB" "\2039" "\203A"}

   Quotes are presentational, and because of their complicated nature, 
especially when it comes to multi-lingual documents, should be handled 
by the author.

   As for the difference between <blockquote> and <quote>, if the 
difference is just *presentational* then a single <quote> element could 
replace the need for two elements.  This can be handled by the author 
supplying an appropriate class and CSS.

<p>text <quote>inline quote</quote> text.
<quote class="block">this is a block style quote</quote></p>

:lang(en)>*, :root:lang(en) { quotes: "\201C" "\201D" "\2018" "\2019"}
p quote { display: inline; )
p quote:before { content: open-quote )
p quote:after { content: close-quote )

p quote.block ( display: block; )
p quote.block::before { content: open-quote )
p quote.block > *::before { content: open-quote )
p quote.block > *:last-child::after { content: close-quote )

   I know that this CSS isn't quite perfect, but I'm sure you get the idea.

   However, if the difference is not just presentational, then the two 
elements, <blockquote> and <quote>, would still be required, and the 
above CSS would use blockquote instead of quote.block.

Received on Friday, 12 December 2003 23:02:43 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 15:06:06 UTC