W3C home > Mailing lists > Public > public-html@w3.org > October 2008

Re: <q>

From: Ben Millard <cerbera@projectcerbera.com>
Date: Wed, 29 Oct 2008 21:32:27 -0000
Message-ID: <83761B22EFCF4B889C33694C4C76688F@ben9xr3up2lv7v>
To: "Chris Wilson" <Chris.Wilson@microsoft.com>, "L. David Baron" <dbaron@dbaron.org>
Cc: "HTML WG" <public-html@w3.org>

Chris Wilson wrote:
> I believe we should pick one of the following options:
> 1) it should either be removed,
> 2) required to quote, knowing there are nesting/locale problems,
> 3) required to quote unless the immediately contained characters are quote 
> characters, allowing locale-specific or nesting-specific author choice,
> 4) nest automatically with an attribute to control quoting,
> 5) (my least favorite option) leave it ambiguous.

Firstly, let me express sympathy for the position IE now finds itself in.

As for the way this thread has developed...I guess there's not much the IE 
team can take away from it at the moment. Maybe I can help that?


Summary of Facts
==============
Please reply with any inaccuracies, citing the source. Bonus points to 
people who cite sources which they didn't write. :-)

A. <q> was defined as generating punctuation in HTML 4.01:
    <http://www.w3.org/TR/html4/struct/text.html#idx-quoted_text-1>

B. Basic punctuation is generated by at least Firefox and Opera but not by 
IE<8:
    <http://www.webdevout.net/browser-support#html>

    Quotes are generated by the Windows build I have of Lynx, too.

C. Generated quotes can be altered from CSS by at least Firefox and Opera (I 
tested Firefox 2.0.0.17 and Opera 9.60) but the default characters they 
generate are different:
    <http://meyerweb.com/eric/css/tests/css2/sec12-04-01.htm>
    <http://lists.w3.org/Archives/Public/public-html/2008Oct/0103.html>

D. Firefox makes a token effort to support one non-Enlish language in one 
localisation:
    <http://lists.w3.org/Archives/Public/public-html/2008Oct/0102.html>

E. Generated quotes cannot be altered from CSS in Lynx, so if an author 
turns the generated quotes off and then uses their own punctuation it 
produces duplicated punctuation marks:
    <http://projectcerbera.com/!dev/accessify/quotes/lynx-quote-duplication.png>

F. Punctuation differs between languages and some major languages have 
pretty funky rules (to an English eye, anyway):
    <http://lists.w3.org/Archives/Public/www-style/2006Sep/0141.html>

G. Punctuation differs within the same language:
    (David Baron described the disagreements he's come across within English 
and German at the HTMLWG meeting last week, which are only 2 of the many 
languages published on the web.)
    <http://lists.w3.org/Archives/Public/public-html/2007Apr/0105.html>
    <http://lists.w3.org/Archives/Public/public-html/2008Oct/0155.html>

H. <q> is the 131st most-used element and that makes it rare: <legend> is 
~10 times more common; <blockquote> is ~100 times more common; <b> is about 
1,000 times more common:
    <http://devfiles.myopera.com/articles/532/elemlist-url.htm>

I. XHTML 2 makes generation of punctuation on its <q> element a MUST NOT:
    <http://www.w3.org/TR/xhtml2/mod-text.html#sec_9.8.>

J. XHTML 2's decision was (reportedly) due to the high volume of requests 
from authors who do not want <q> to generate punctuation:
    <http://lists.w3.org/Archives/Public/www-style/2007Apr/0116.html>

K. In the wild, authors use punctuation or punctuation with <em> more than 
they use <q>. A few examples captured here:
    <http://projectcerbera.com/web/study/2008/quotes>

L. Authors are confused by whether punctuation is content or presentation, 
especially since punctuation is content in other HTML elements:
    <http://lists.w3.org/Archives/Public/public-html/2008Oct/0167.html>

M. Language changes reveal further inconsistencies about which punctuation 
marks authors want:
    <http://lists.w3.org/Archives/Public/public-html/2008Oct/0140.html>

N. Cross-referencing educational material is given as a use for <q cite>, 
although no specific examples are liked to:
    <http://lists.w3.org/Archives/Public/public-html/2008Oct/0118.html>

O. Expert authors sometimes use <q> and style it, rather than using 
punctuation with some other element:
    <http://lists.w3.org/Archives/Public/public-html/2007Apr/0123.html>

P. Dropping <q> might not be such a bad thing, since it has never been fully 
implemented and perhaps shouldn't have been introduced to HTML in the first 
place:
    <http://lists.w3.org/Archives/Public/public-html/2007Apr/0122.html>

Q. Changing the behaviour of <q> may be unacceptable to HTML5 implementors:
    <http://lists.w3.org/Archives/Public/public-html/2007Apr/0091.html>

R. If IE8 ships with <q> and </q> generating punctuation, at least 3 of the 
main browser engines will be doing that.

S. It's a perrennial issue which has been discussed at length in a variety 
of communities of differing expertise for many years, yet no single 
resolution has won out.


My Tuppence
===========

It seems to me that <q> is made more useful and more implementable by no 
longer generating punctuation automatically.

* It's impossible to fully internationalise the generation of punctuation on 
<q>.
* Punctuation conventions are inconsistent even within the same language.
* <q> is rarely used, so changing it breaks only a small amount of content. 
(Perhaps even that is too much, though.)
* Authors are comfortable and familiar with doing their own punctuation for 
other phrase elements.
* Letting authors choose punctuation avoids problems with 
internationalisation and editorial style.
* <q> is as useful for styling quoted text as any other phrase or formatting 
element. (Colour, italics and so forth.)
* <q> lets quoted text be styled differently from other text whilst using 
compact markup and a straightforwards CSS selector in an external 
stylesheet. (As opposed to, say, <span class> or <font style>.)
* Author CSS can still add quotes to <q> for authors who prefer this 
approach.

HTML5 currently says "quotation punctuation" must be inside the <q> or be 
absent:

<http://www.whatwg.org/specs/web-apps/current-work/multipage/text-level-semantics.html#the-q-element>

Given the range of editorial and international convention, I think the spec 
should allow punctuation anywhere in and around <q>. In particular, I 
wouldn't want speechmarks to change style but I probably would want terminal 
punctuation within the quoted text to do so:

    The officer gave chase. "<q>Oi! Stop right there!</q>" she bellowed.

My impression of the few sites I've seen using <q> is that their authors are 
standards-savvy. They are equipped (although perhaps not willing!) to adjust 
their content or apply author CSS if browser behaviour changes.

-- 
Ben 'Cerbera' Millard
<http://projectcerbera.com/web/study/> 
Received on Wednesday, 29 October 2008 21:34:09 UTC

This archive was generated by hypermail 2.3.1 : Monday, 29 September 2014 09:38:58 UTC