- From: Eduard Pascual <herenvardo@gmail.com>
- Date: Sun, 24 Aug 2008 18:57:15 +0100
- To: public-html-comments@w3.org
I can hardly believe that the <i> and the <b> tags are still there; and I'm afraid there are some issues that must be cared about: First of all, the redefinition of these tags (as well as a few others, such as <small>) clashes against one of the basic goals of HTML5: backwards compatibility. If we expect the browsers to process all legacy documents as if they where HTML5, when these tags are found they will be granted a meaning they didn't have. If you find something like <i>this is italized</i> (which is legitimate and fully compliant HTML3.2 and 4.x Transitional), then the <i> tag means simply "italics". Even if the spec or the browser want to know why is that text italized, they only can make educated guesses which, in the best of cases, are still random: italics were used for italics' sake, and retro-actively giving the tag a new meaning will cause the original intention of the author to be distorted: if legacy documents don't preserve their meaning (or lack of it for that matter) when processed as HTML5, then backwards compatibility is broken. And, for most cases, authors just meant "I like how this looks in italics" when they used the <i> tag. The same reasoning applies, in principle, to any other formerly-presentational retroactivelly-redefined element. Another side issue is that resurrecting these deprecated elements may resurrect the "presentational temptation" on many of the authors who were there in the times of 3.2. In the worst case, some authors might take the wrong conclusion that "HTML is presentational again", and turn back to the practices of indenting with blockquotes, seting font sizes with headers, and so on; or even more blasphemic, those who come from 4.x transitional which are used to mix presentational tagsoup with CSS might end up taking the <i>, <b>, or <q> elements (for the convenience of being a sinle character) as shorthand "hangers" for class and style attributes. Although the spec is quite clear on this sense, we cannot assume that the average web developer will read the specification (actually, some of my friends and former class-mates from the Computing Faculty of Barcelona take me as crazy just because I _do_ normally read the specifications of the technologies I use (although I'm indeed crazy, I think this is coincidental rather than consecuential :P ) ). Most authors will learn the new version of the language from many kinds of sources, such as references, tutorials, textbooks, etc.; and any of these sources might leave out important details of the spec to go "straight to the main stuff". In my most honest and humble opinion, I think it is not enough to define what's right and what's wrong; but we also should make an effort to avoid encouragin (even unintentionally) bad practices. The sector I'm most afraid of (actually, I have been unable to sleep tonight, thinking about this) are noobs. I think it is essential for the newcomers to HTML to learn the language on terms of structure and not of rendering/presentation. Once they find the <i> or <b> tags, they will get confused and miss the point. Don't forget that the noobs of today may be the gurus of tomorrow; and maybe someday they will be creating HTML7 or 8 the same way we are now creating HTML5: we'd better make sure they get the essence of the language. DISCLAIMER: This is just my point of view; and I thought I should share it. I could of course be wrong, and be worrying needlessly. But I will think that I'm right until somebody convinces me that I'm not (that's how my brain works). Regards, Eduard Pascual, Software and Web developer.
Received on Sunday, 24 August 2008 17:57:59 UTC