[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