- From: Jukka K. Korpela <jkorpela@cs.tut.fi>
- Date: Wed, 26 Oct 2011 22:38:06 +0300
New elements like <nav> and <footer> have the problem that some existing user agents don't recognize them, even for the purposes of styling. So if you want to use <nav>, then - unless you're using it for purely semantic reasons with no idea of styling - you need to use some special trick to make old browsers recognize it or assign your styles to some logically redundant <div> markup that you use in addition to <nav>. Therefore, it would be much simpler, for compatibility with existing user agents, to use just <div type=nav> and <div type=footer>. Such elements can be styled at will, and if any browsers or search engines wish to recognize semantic markup, type=nav should not be a bigger problem than <nav>, rather smaller. I understand that this should have been suggested years ago. But I didn't think of the issue, and it seems that neither did anyone else, aloud. And it's not too late, is it? Nobody needs new elements with no required functionality, really. The idea of more compact markup is pointless. People don't read or write markup that much, and if they do, <div type=nav> is no less semantic than <nav>. But the latter has the serious drawback of being ignored by many relevant user agents. It does not need to be the 'type' attribute of course. That attribute name is seriously overloaded, so 'kind' might be better. The important thing is to introduce an attribute different from 'class', which currently lets authors use a free naming space. We don't want to interfere with style sheets that might use this or that 'class' attribute value; instead, a new attribute name (defined as semantic, not presentational, but still useful for styling) is called for - rather than new element names, which are born homeless. -- Yucca, http://www.cs.tut.fi/~jkorpela/
Received on Wednesday, 26 October 2011 12:38:06 UTC