Re: The meaning of "obsolete" in HTML5 (was Re: [DRAFT] Heartbeat poll)

Maciej Stachowiak wrote:
>
> Hi Shelley,
>
> On Aug 1, 2009, at 6:38 PM, Shelley Powers wrote:
>
>>
>> This one interests me above and beyond summary, as I wrote about 
>> recently[1].
>>
>> There is no clear demarcation between deprecated and obsolete in HTML 
>> 5, as there was in HTML 4. Because of this lack, we're left with 
>> situations like summary, where we may want to replace the element at 
>> a future time, but we want it to be a valid element, and supported, 
>> until there is a replacement for its functionality, and the element 
>> can be gracefully made obsolete.
>
> I think the HTML5 category of "obsolete but conforming" is closer in 
> meaning to the HTML4 of "deprecated" than the HTML4 category of 
> "obsolete".  I think it matches really well what is desired for 
> summary="" - the element is valid and supported. The main practical 
> difference, compared to HTML4 deprecated, is a required warning from 
> the validator. That makes it a bit stronger than HTML4's "deprecated".

HTML 5 should be an incremental improvement over HTML 4, according to 
the charter. So it would make sense that concepts that underlay the 
foundations of HTML 4 should either be included in HTML 5, or replaced 
by something identical. Otherwise, we have abrupt transitions. The use 
of deprecated and obsolete were meant to provide this graceful 
transitioning, and oddly enough, we've been left without a transition to 
what we had in HTML 4, and what we have in HTML 5.

I don't think I've ever seen any technology use the term "obsolete but 
conforming", and I still leaves me baffled.

What does it mean? Authors aren't supposed to use the elements or 
attributes, but they're conforming. That is confusing. What are user 
agents supposed to do? When an element or attribute is made obsolete in 
HTML 4 it means that there's no guarantee that any user agent supports 
it. But the same doesn't seem to apply with HTML 5. Or does it.

You say that obsolete in HTML 5 is closer to what deprecated was in HTML 
4 -- then why not use deprecated? And leave obsolete for those elements 
that are no longer supported. And provide a graceful transition between 
the states?

>
> HTML5's "obsolete and nonconforming" is closer to HTML4 "obsolete". 
> But it still requires implementation support, and still actually 
> describes the features instead of merely listing, so it is not as 
> strong as HTML4's "obsolete".
>
> As I explained to John, the hesitance to use the word "deprecated" is 
> that it's widely seen as toothless.
>
Actually, no, I don't think anyone sees it as toothless. I'm not sure 
where anyone got that impression.

A deprecated attribute in HTML 4 is one that we know is still supported 
in user agents, but with an understanding that at some future time, it 
will no longer be supported. It is a flag to signify that we need to 
transition away from its use. But people aren't left without options. In 
fact, deprecated elements and attributes in HTML 4 were also paired with 
recommended replacements. For instance, HTML 4 deprecated several visual 
attributes, such as align, because their functionality is replaced by CSS.

Web authors, and user agents, both have a clear expectation about what 
the attribute is, how long we can expect it to be supported, and what 
the preferred approach is. Very elegant, very clean, no confusion.

At some point the attribute could be made obsolete, and what that means 
is that there is no guarantee that its supported, for that version of 
HTML or future versions. It's then up to the user agents to decide if 
they want to support the element or attribute or not, but the author 
uses it at their own risk.

The specification never deliberately said, you will do this, you won't 
do this. It just provided an elegant method of transition.


> I hope this helps clarify how HTML5 handles deprecation and 
> obsolescence. It's not quite the same as HTML4, but I think the 
> categories still do what we need.
>
I must disagree about the perceived need, and I believe that summary 
demonstrates the failure of the new terminology. I also believe that, as 
others begin to see other attributes and elements have been made 
"obsolete" in HTML, there will be more confusion and consternation. 
Redefining terms such as obsolete can do that.

Eventually I hope to present a fuller argument about my view to the 
group at large.

> Regards,
> Maciej
>
>
Shelley

Received on Sunday, 2 August 2009 02:42:50 UTC