Micah Cowan said:
I'd be much happier if you'd actually produce some quotes from
the spec to back up that statement, rather than just haughtily
assert that my notion is laughable.
I'm sorry, but it really is a matter of experience with reading the
HTML 4 specifications. If you read them for a while, with your mind
oriented towards considering exactness and conformance to rules and
specifications, you will soon realize that they are loose prose, rather
than an exact specification. I'll skip the question whether the
paragraph mentioned even tries to be _formal_, so let's just discuss
exactness (which can be formalized or non-formalized).
In section 4,
http://www.w3.org/TR/html4/conform.html , the spec says:
"The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119]. However, for
readability, these words do not appear in all uppercase letters in this
specification."
The spec uses the odd, non-RFC-style phrase "we recommend that" too.
Should they be read as being identical with "it is recommended that"?
Even if we, rather unnaturally, assume that the answer is negative, you
will find lots of occasions where those key words are used so that they
hardly carry their RFC meanings. For example, B.1 Notes on invalid
documents
http://www.w3.org/TR/html4/appendix/notes.html#h-B.1
plays with those words, yet begins with a nullifying disclaimer:
"The following notes are informative, not normative. Despite the
appearance of words such as "must" and "should", all requirements in
this section appear elsewhere in the specification."
What's the idea of using those words at all in an _informative_
appendix? And if all the requirements in the appendix (which is OTOH
said to be informative, i.e. contain no requirements) appear elsewhere,
then we apparently need to read between the lines a lot.
OK, enough said. The HTML 4 specification is nowhere near an exact
specification, and doesn't even really try. (And it contains some
formalized parts, mainly the DTDs and DTD fragments, but these in turn
are to be taken with quite some salt - as we know, HTML wasn't _really_
meant to be an SGML application.)
I'll concede the point about requiring CSS; so I will modify my
previous assertion to "you are *supposed* to use style sheets to
indicate your preferences for the handling of <q>"; there, does
that make you happier?
No, not at all. The theory behind <q> says that browsers should use
language-specific quotation marks, and elsewhere the specification says
quite a lot (though sloppily formulated) about language markup, so if
the spec *supposes* something in this respect, it's this: you're
supposed to use lang attributes, and browsers are supposed to know and
apply the rules of different languages. (CSS might conceivably be used
to express the author's preference on presentational details when a
language has several alternative styles of using quotation marks, as
some languages have.)
For my part, the mere fact that the W3C recommends their use
instead of typing quotation marks directly (see, e.g., checkpoint
3.7 of the WCAG) gives me pause to dismiss them,
Thanks for pointing that out. I'm currently writing some practical
instructions on applying WCAG, and I need to remember to mention that
"checkpoint" 3.7 is mostly nonsense and conflicts even with the way W3C
is going. - Using blockquote for block quotations is OK but hardly
sufficient - speech browsers don't do indents, and neither do most of
them express blockquote markup in any other way, so for accessibility,
the author needs to word his document so that by merely reading it
aloud, it is sufficiently obvious which parts are quoted and which are
not. Well, someone might say that if you do this for inline quotations
too, _then_ you can use <q> markup. You can use it when you don't need
it. But it's better to use quotation marks even then, since _they_ give
an additional hint to all people who see the document.
This doesn't stop me from writing my DocBook XML
stuff using the <quote> element, though;
Naturally you can use any suitable approach there.
and the major advantage
to this is that I can choose to convert these to XHTML <q> in my
XSLT stylesheets once they are well-supported in the mainstream;
That can hardly be a major advantage, since that time will never come.
The <q> is element is to be removed sooner than any major changes take
place on the browser front. But maybe you can use the <quote> element.
In fact you could in practice do it right away, since browsers are
expected to ignore tags that they don't recognize.