- From: Philip Taylor <pjt47@cam.ac.uk>
- Date: Fri, 31 Oct 2008 17:08:53 +0000
- To: Chris Wilson <Chris.Wilson@microsoft.com>
- CC: HTML WG <public-html@w3.org>
Chris Wilson wrote:
> Ben Millard [mailto:cerbera@projectcerbera.com] wrote:
>> 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>
>
> Yes. Generated quotes can be altered from CSS in IE8 as well. We appear to match Firefox 3 behavior on Eric's tests, to be specific - that is, we use non-ASCII quotes by default.
>
>> 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>
>
> We do better than that. I'd have to look up precisely how broad it is, but we recognize a set of lang values.
(I can see 21 different language-dependent quote styles in IE8b2, which
does seem much better than a token effort.)
What is IE meant to do by default when no language is specified?
If I write <!DOCTYPE html><q>Test</q> in IE8b2, then it outputs
single-quotes. <q lang=en-gb> is the same. lang=en and en-us output
double-quotes instead.
I'm running on an en-GB system, so I guess IE must be picking up the
system language and using that as the default. (I could be wrong (in
which case this whole post is irrelevant) since I can't find an easy way
to test this, but I don't see any other reason it would default to
something equivalent to en-GB.)
That seems bad because it will be unexpected and surprising to authors.
A likely situation is:
An en-US speaking author writes a perfectly valid page in English, with
a doctype that triggers IE8-compatibility mode in IE8, without setting
lang. They read somewhere that <q> puts quotation marks around
quotations by default, so they use it for their page's quotations (or
for citations or for emphasis or whatever). They test it in every
browser they have access to, and it creates double-quotes in all of
them, so they're happy and they don't need to fiddle with CSS and they
publish the page. Then a foreign (French, Japanese, etc) user (who can
read English perfectly well) visits the page, and their browser defaults
to their system language and draws funny quotes in the middle of the
English page, which makes the page look strange and broken, and everyone
is unhappy.
To avoid that problem, the quote style should be purely a function of
the page, not of the user. When no lang is specified in the page (or in
HTTP headers), the quotes should default to something consistent
(probably en-US because that's what all other browsers do). Then authors
will test their page, and non-en-US authors will see that it's not quite
what they want and will fix it by specifying lang="..." or "q { quotes:
... }" or by using inline punctuation instead of <q>, and then it will
work exactly the same for all users.
This increases the chance that the default will not match what the
author wants, so they will have to expend some minor effort to fix it;
but it avoids the much larger pain of them thinking their page looks how
they want it to, when actually many users will see something quite
different.
Does something like this seem reasonable?
--
Philip Taylor
pjt47@cam.ac.uk
Received on Friday, 31 October 2008 17:09:28 UTC