[whatwg] the cite element
Jeremy Keith
jeremy at adactio.com
Mon Aug 3 09:48:52 PDT 2009
Hixie asked:
> What is the problem solved by allowing names to be marked up in the
> same manner as titles?
They are both entities being referenced (cited). It seems arbitrary to
me to forbid referencing names with the <cite> element. HTML 4 already
allows it, authors would have to change their existing behaviour
(something to be avoided wherever possible) and when the meanings of
other existing elements—<i>, <b>, <small>—are being *expanded*, I
can't follow the logic in *restricting* the meaning of an element
already being used broadly.
> The problem solved by allowing titles specifically to be marked up
> is that titles are usually typographically offset from the surrounding
> text in a distinctive fashion. This doesn't apply to names.
That's what CSS is for.
> I haven't changed the spec. I continue to hold the position that
> covering
> titles of works is more useful than covering titles of works and
> names of
> people, and more useful than covering only names of people or works
> that
> are explicitly cited.
Okay, but it won't make any difference to authors like myself who will
continue to use <cite> to mark up names.
We can do this either by applying a Kenobian interpretation of the
spec (e.g. a person is the work of their parents/peers/society and a
person's name is therefore a "title of work") or we can do it more
flagrantly by simply disagreeing with the spec—a precedent for this
would be the <dl> element in HTML4 where the example in the spec
showed it being used for dialogue; authors (rightly) ignored the spec.
The meaning of the <cite> element is a classic example of a "language
feature" rather than a "platform feature". <canvas> and <video> are
examples of platform features i.e. features that require work by
browser makers to implement. As you have correctly pointed out many
times, if browser makers refuse to implement a platform feature,
there's no point having it in the spec; the spec would be fiction.
When it comes to language features, the browser makers don't have to
do much—just make sure the element shows up in the DOM. However, if
authors refuse to implement a language feature as described in the
spec, then the spec becomes fiction.
Platform features need buy-in from browser makers.
Language features need buy-in from authors.
Authors use the <cite> element to mark up names. It is often the most
semantically appropriate element for marking up a name (and then in
itself is a good enough reason to use it—default browser styling
doesn't come into it). I don't think it makes sense to ignore the
existing behaviour of authors.
Authors such as myself will continue to use the <cite> element to mark
up names; our markup will still be conforming; validators won't flag
up our choices as errors.
Like I said, you can keep the spec as it is if you want but know that
that particular part of the spec (detailing usage of the <cite>
element) will be a work of fiction.
Eric Vorhes wrote:
> This isn't about including names of
> people; that is just the most obvious non-title form of citation. This
> is about properly understanding what a citation can be and writing the
> specification for the <cite> element to account for those
> possibilities. Citations are references to works, people, etc. By
> limiting it to "title of work" you are actually limiting it to a
> subset of a subset, as many objects worth citing don't have
> conventional titles.
I agree. I don't think the spec should be micro-managing semantic
decisions better left to authors.
Let me explain with another example I used on IRC earlier...
Suppose you're marking up a <form>. What element do you use to contain
your form field and your <label>? Some authors use <div>s. Some
authors use <p>s. Some authors use <li>s. We could argue (we have
argued) about which is the most appropriate but in the end, it's the
author's choice.
Choosing an element to mark up a piece of content isn't always a
Boolean proposition. Sometimes there is an obvious "correct" choice
(paragraphs of text should probably be marked up with the <p> element)
but more often than not, different authors will make different
choices. And that's okay. Unless it's a flagrant disregard for the
semantic meaning of the element (e.g. using the <table> element for
non-tabular content), authors should be allowed to choose what *they*
feel is the most semantically appropriate element.
I choose to mark up names with the <cite> element. Other authors
choose not to. We will all continue to exercise our personal choices
even if the HTML5 spec tries to restrict the meaning of the element.
Jeremy
--
Jeremy Keith
a d a c t i o
http://adactio.com/
More information about the whatwg
mailing list