W3C home > Mailing lists > Public > public-html@w3.org > July 2007

Re: (code, sample output and keyboard/device input <code>, <samp>, <kybd>) part of my review of 3.12 Phrase elements

From: Andrew Sidwell <takkaria@gmail.com>
Date: Sat, 21 Jul 2007 20:48:58 +0100
Message-ID: <46A2632A.8070804@gmail.com>
To: Robert Burns <rob@robburns.com>
CC: Lachlan Hunt <lachlan.hunt@lachy.id.au>, HTML WG <public-html@w3.org>

Robert Burns wrote:
> On Jul 20, 2007, at 7:53 PM, Lachlan Hunt wrote:
>> Ignoring the syntax errors and assuming the code was rendered in
>> purple, sure, you can give the browser guidance in how to convey the
>> semantics of your class name to the user using stylesheets.  But that
>> doesn't mean the browser has understood the meaning of the class name
>> itself, or that the class name carries any particular meaning.
>
> It certainly does mean the class name carries meaning. If my meaning,
> as the author, was to denote C++ syntax code. And you as the user
> understand that purple text as C++ code.

The example:

  <pre class="cplusplus"> i = 10; </pre>
  <style>.cplusplus { color: purple; }</style>

That code could equally well be in C, or Lua, for all I know.  To find
that this was C++, I would have to:
 1. be told elsewhere, in English, that the code is C++, or
 2. see C++-specific syntax elsewhere in the colour purple, and infer
    that other similarly-coloured code is also C++.

Note that nowhere is the class name used outside of the source code.
That is, the class name provides no meaning, but the presentation
(combined with inference) does.

Why does a class name not mean what you use it to mean?  Well, it does,
but only very occasionally.  Obviously, to you, it means what you use it
to mean.  (I could use the word "plu" to mean "plumber", but it would
only mean that to myself; to everyone else, the word would be opaque.)
Then, if you agree with other people that your class name means
something (e.g. you start a cult of people who use the word "plu"
instead of "plumber"), then it means that thing to those people.

Another group may use the class name differently (e.g. they might use
"plu" to mean "plum"), in which case the meaning is still lost.  In
other words, for a class name to have a meaning, you must have a bunch
of people using it in the same way -- that is, a microformat.

>>> Would you prohibit authors from writing a document like this? Unless
>>> I get prior approval from some microformat politburo, I'm prohibited
>>> from writing a document like this? Would I be purged for this
>>> markup? :-)
>>
>> What?  No!  I do not understand your point.  All I'm saying is that
>> class names by themselves don't convey any particular semantics
>> without an agreement of their meaning (either explicit or implied),
>> and that nothing useful can be done with them by default, beyond the
>> presentation and behaviour specified by the author.
>
> No, what you're saying in a long-winded way is that class names do not
> convey any particular semantics, without a prior agreement  EXCEPT to
> humans. However, if an author wants to communicate specifically to
> humans, then a class name does convey meaning. Which is all I was
> trying to say.

In what way are two people who both understand and use English, and both
know the name of a programming language, not making use of a prior
agreement?

Andrew Sidwell
(With apologies for butchering Wittgenstein)
Received on Saturday, 21 July 2007 19:49:15 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 9 May 2012 00:16:02 GMT