[whatwg] New attributes would degrade better than new elements

Ian Hickson ian at hixie.ch
Fri Jan 27 13:54:53 PST 2012


On Fri, 27 Jan 2012, Jukka K. Korpela wrote:
> 2012-01-27 21:33, Ian Hickson wrote:
> > On Wed, 26 Oct 2011, Jukka K. Korpela wrote:
> > > 
> > > New elements like<nav> and<footer> have the problem that some 
> > > existing user agents don't recognize them, even for the purposes of 
> > > styling.
> > 
> > This is only a transient problem for a few years, and a minor one at 
> > that -- you can always add CSS to make them work in CSS-capable 
> > browsers,
> 
> No, that won't work on still existing versions of IE.
> 
> > Old IEs need a special trick.
> 
> Indeed. They require JavaScript code.

A trivial matter.


> > > Therefore, it would be much simpler, for compatibility with existing 
> > > user agents, to use just <div type=nav> and <div type=footer>.
> > 
> > I think the ugliness of that solution far outweighs any temporary 
> > transition issue.
> 
> <div type=nav> has been used for years, and it did not become any 
> uglier.

I assume you mean <div class=nav>.


> "Transient" problems that will be with us for years, as you admitted, 
> far outweigh any subjective esthetics of more compact markup.

On the contrary. The transition issue is a short-term issue (on the scale 
of the age of the eventual period of time during which the features will 
exist), but the language design aesthetic is one that we will have to live 
with for the lifetime of the feature.


> > Personally, for example, I find the terseness of different element 
> > names to be of much help in writing more maintainable documents.
> 
> Then you could use authoring tools that convert <nav>, or whatever you 
> prefer, to markup that all browsers understand.

<nav>, to a sufficient approximation, is markup that all browsers 
understand.


> > But in general, the main purpose is easier authoring.
> 
> It is not easier but more complicated, since you need to write CSS code 
> _and_ JavaScript code just to make all browsers understand your <nav> 
> the same way they would understand <div class=nav>.

This is a mere transition issue. You are welcome to avoid using the 
element for a few years until it becomes more widely supported.

-- 
Ian Hickson               U+1047E                )\._.,--....,'``.    fL
http://ln.hixie.ch/       U+263A                /,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'



More information about the whatwg mailing list