Re: Why the quote element doesn't add quotes by default

* Masayasu Ishikawa wrote:
>So we concluded that it would be reasonable to place the burden of
>adding "proper" quotation marks on authors rather than implementors.
>The I18N WG recommended that using styling would be a preferable way
>and encouraged CSS implementors to support relevant feature more widely
>and consistently.  Then, each author may have their own default style
>rules, and may include them in their author style sheet.

http://www.w3.org/TR/xhtml2/xhtml2.html#sec_9.8. states

[...]
  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.
[...]

While http://www.w3.org/TR/WCAG10/#q31 states

[...]
  6.1 Organize documents so they may be read without style sheets. For
  example, when an HTML document is rendered without associated style
  sheets, it must still be possible to read the document. [Priority 1] 
[...]

It seems thus obvious that it is very misleading to state that authors
can use style sheets to add the quote marks, if they do, the document
would break in user agents that do not support style sheets, rendering
e.g. "[QUOTE: ... ]" instead of "'...'" seems to be allowed but is
something rather stupid to do for a user agent. Even if they are allowed
to render quote marks or other indicators for a quote, it would likely
break as the user agent does not know whether the author included the
quote marks in the document, they would have to deal with all of

  "<quote>...</quote>"
  <quote>"..."</quote>
  <quote>...</quote>

which then might yield in e.g.

  "[QUOTE: ... ]"
  [QUOTE: "..." ]
  [QUOTE: ... ]

Are the quote marks part of the content or indicate the quote marks
that the content is a quotation? If you want to write your document
so that it makes sense without style sheets you could write

  "<quote>...</quote>"

but then, what would you do if you want to style the quote marks?
Not possible. So you might rather write

  <span class="qm">"</span><quote>...</quote><span class="qm">"</span>

or maybe you would write

  <quote><span class="qm">"</span>...<span class="qm">"</span></quote>

who knows..., then you could write

  <style ...>
    ...
    xhtml2|span.qm        { display: none }
    xhtml2|quote          { quotes: "\201C" "\201D" "\2018" "\2019" }
    xhtml2|quote::before  { content: open-quote }
    xhtml2|quote::after   { content: close-quote }
    xhtml2|quote::before,
    xhtml2|quote::after   { font-size: xx-large }
  </style>

except that it would break the document again if the user agent does
not support CSS3 but CSS2, so you could write

  <style ...>
    span.qm       { display: none }
    quote         { quotes: "\201C" "\201D" "\2018" "\2019" }
    quote:before  { content: open-quote }
    quote:after   { content: close-quote }
    quote:before,
    quote:after   { font-size: xx-large }
  </style>

Except that it would break in user agents that do not support CSS2
but CSS1, so maybe you would rather write

  <style ...>
    .qm           { font-size: xx-large }
  </style>

and include the quote marks directly in the text, but then you might
want to give the quotation different background-color, like

  <style ...>
    quote         { background-color: #eeeeee }
  </style>

but that would paint the background-color behind the quote marks
too, so you might add

  <style ...>
    quote         { background-color: #eeeeee }
    .qm           { background-color: transparent }
  </style>

which works to some extend, until you want to use a border instead of
a background color, as that would require to put the quote mark span
outside the quote element... This design is completly broken, there is
essentially no authoring benefit and proper use is way too complicated.
Whatever proper use might be, who knows. Even something like

  <quote open-quote = '...' close-quote = '...'>...

would be better than this mess. It is way more important to me that user
agents lacking CSS support properly indicate that something is a quote
than that they render the quote marks I desire, and if the latter is
what the HTML Working Group considers more important, it would make way
more sense to require that style sheets are not used to insert the quote
marks, or to require user agents to support the relevant CSS 2.0
features.

Received on Tuesday, 3 August 2004 15:27:08 UTC