Re: HTML is a declarative mark-up language

On Jan 28, 2009, at 6:11 PM, Maciej Stachowiak wrote:
> On Jan 28, 2009, at 5:47 PM, Roy T. Fielding wrote:
>
>> If I ask a simple question, like:
>>
>>   what does the name attribute on the "a" (anchor) element mean?
>
> The name attribute on the "a" element is no longer conforming for  
> documents.

Ah, well, in that case you won't be needing that "text/html" media type.

> It is considered obsolete in favor of using "id". The id attribute  
> is defined here: "http://www.w3.org/TR/html5/semantics.html#the- 
> id". The "a" element itself is also defined (it now represents a  
> hyperlink rather than an anchor).

Usually, such things are called deprecated, noted as such in the spec,
and remain part of the language definition.  The reason for that should
be self-evident.  I can understand the reason to deprecate it given
the shift to using id attributes on any element, but I don't think it is
a good idea to make such a large portion of the web "non-conformant"
by definition.  Where was this decision made?

...
>> The name attribute is used but never defined, AFAICT.  I just  
>> happened
>> to run across this error in the first element that I looked at in
>> the HTML5 spec today, and it is hidden because the declarative  
>> language
>> is being obscured by the behavioral descriptions.
>
> "name" has implementation conformance requirements for  
> compatibility, but may not be used by conforming documents and so  
> the semantics and authoring requirements are not defined. I believe  
> this is both correct, and also not a representative example of how  
> semantics are defined.
>
> I think it would be helpful for the spec to have a list of elements  
> and attributes that have a functional effect but are not conforming  
> for documents, to avoid confusion like this.

It would make more sense to define the language and then speak of what
portions should no longer be generated.  Thats gives us a continuing
reference point for all those places where the attribute is used and
no link is provided to its definition.  Assuming that the reader will
understand that by its absence of definition is very odd.

> As a side note, here is how HTML 4.01 defines the A element's name  
> attribute:
>
> "This attribute names the current anchor so that it may be the  
> destination of another link. The value of this attribute must be a  
> unique anchor name. The scope of this name is the current document.  
> Note that this attribute shares the same name space as the id  
> attribute."
>
> Note that this is a completely operational definition which does  
> not clearly state the meaning of the attribute.

Umm, what part of "anchor name" do you think lacks meaning?

....Roy

Received on Thursday, 29 January 2009 07:35:24 UTC