Micah Cowan said:
SHOULD and MUST are very different--formally.
Theoretically HTML 4 specifications use RFC language here, but in
practice their wording is not that formal. Anyway, by the RFC language,
the statement that browsers SHOULD "render quotation marks in a
language-sensitive manner" means that "there may exist valid reasons in
particular circumstances to ignore [that statement] particular item,
but the full implications must be understood and carefully weighed
before choosing a different course". So if an implementator has
understood the full implications etc. and decided not to make a user
agent behave that way, what makes us think that an author knows better?
You *are* supposed
to use CSS if you want to force a conforming user-agent to Do The
Right Thing(TM).
No, of course not. First, HTML specifications do not postulate any use
of CSS. They are meant to be used without a style sheet, with CSS style
sheets, or with other style sheet. Second, author style sheets (by
design and by implementation) certainly cannot force anything. Third, a
duplicate implementation of quotation mark rendering would be a shot in
the dark. A browser programmer can be in a position to _know_ that e.g.
curly quotes are not available in a rendering situation and use Ascii
quotation marks instead, and if an author style sheet tries to force
curly quotes, it could end up with having no quotes rendered.
Agreed about (en); although even if it had been correct, I didn't
post using an encoding that would have allowed more appropriate
ones.
Surely you could write a style sheet in Ascii only and yet use any
Unicode character in generated content.
As to (no); you're right, that's stupid. That's how they were in
the CSS2 standard, though (should've been ‹ and › I
believe)
No, notations like ‹ have no meaning in CSS.
But only until the stupid mainstream browsers (IOW, MSIE) get it
right.
They'll never get it right. It'll take several years before the next
version of MSIE exists and has over 50 % share of MSIE installations.
Why? Every browser I've seen supports “, ”,
etc.
Then you haven't seen enough. Ascii quotation marks are _safe_, as I
wrote. If you consider using real quotation marks, then you should at
least refrain from using those quasi-mnemonic entity references and use
character references instead.
But when you *don't* know this, are you sure that the Ascii
quotation marks are appropriate?
Ascii quotation marks are still the safest way. It's true that these
days, the number of browsers that fail to render the character
references for curly quotes properly is rather small - but yet not
zero, and users are accustomed to seeing Ascii quotation marks, so this
is not a big issue. I'm personally moving towards using "smart"
quotation marks on new pages, especially since it's awkward to change
such things later - I cannot just do a simple editing operation to
change Ascii quotation marks to any smart characters, since Ascii
quotation marks are used for HTML markup (attribute value delimiters).
Besides, there are other problems with correct quotation marks, even
the guillemets. The guillemets are technically rather safe, being
ISO 8859-1 characters, but the clueless line breaking rules in browsers
cause quite some trouble (see
http://www.cs.tut.fi/~jkorpela/html/nobr.html ).