- From: Ben Millard <cerbera@projectcerbera.com>
- Date: Wed, 29 Oct 2008 21:32:27 -0000
- 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