Linked by snydeq on Tue 16th Aug 2011 16:46 UTC
Web 2.0 InfoWorld's Peter Wayner discusses the 11 hard truths Web developers must accept in making the most of HTML5 -- especially those who are looking to leverage HTML5 in hopes of unseating native apps. 'The truth is, despite its powerful capabilities, HTML5 isn't the solution for every problem. Its additional features are compelling and will help make Web apps formidable competitors for native apps, but security issues, limitations of local data storage, synchonization challenges, and politics should have us all scaling back our expectations for the spec.'
Thread beginning with comment 485640
To view parent comment, click here.
To read all comments associated with this story, please click here.
CONT: HTML 5 === Pointless Bloat
by deathshadow on Wed 17th Aug 2011 22:58 UTC in reply to "HTML 5 === Pointless Bloat"
deathshadow
Member since:
2005-07-12

The way I read your comments you think HTML should be as rigid and efficient as possible to convey the authors intent to the browser. That is very important, but semantics matter if the thing on the other end is NOT a browser (and that is a valid use case for the web).

I'm not seeing where you get that as I am in fact arguing in FAVOR of semantics -- and that's my problem with the new tags as they muddy the water by applying extra meanings we don't need. It's like the nimrods who go around slapping P around EVERYTHING just because it happens to be text or in flow. (P around IMG comes to mind)... A LABEL/INPUT pairing is not a paragraph or list item or table cell. Putting a P around it is pointlessly applying the wrong semantics... To me, putting NAV around a UL is that same type of idiocy... or DIV#header vs. HEADER when a numbered heading tag (H1,H2, etc), maybe with SMALL for de-emphasis and a couple span as styling hooks can typically handle that all by itself.

But then I always hated id="nav" or class="nav" -- so NAV as a tag is going to annoy me as being pointlessly vague. EVERY BLASTED ANCHOR ON A PAGE is "navigation" -- doesn't narrow it down a whole lot on meaning. Are we supposed to now wrap it around everything that has an anchor in it? I think not. Pointless bloated element that exists NOT for the accessibility bullshit they claim, but to justify the people who put that extra div around their UL for NOTHING. Probably why I use classes and ID's like "mainMenu", "userMenu", etc...

On one hand you argue against new semantic tags (just use divs), but on the other you complain about authors nesting wrappers (which is what you end up with if you eliminate the semantic tags). There has to be a middle ground...

NOT IF WHAT GOES INSIDE THEM ARE THE EXISTING SEMANTIC TAGS (H1, H2, P, UL, OL... even HR) -- at which point wrapping them with ANOTHER semantic meaning ... well, that's shellac on a pile. Covering a turd in bug excrement isn't the answer, no matter how shiny and new it looks.

I think that's what you're missing -- I don't see the point of these allegedly semantic new tags if they're just going around tags that already have meanings. That's called pointless bloat!

Reply Parent Score: 2

galvanash Member since:
2006-01-25

This is how I interpret the new tags...

NAV = The stuff here consists of primary navigation links. If you are looking for the collection of links that the author identifies as authoritive this website you just found it.

HEADER = The stuff here is NOT part of the primary content of this page, it is decorational and/or contains index/navigation items that are not related to the primary content.

FOOTER = Semantically means exactly the same thing as HEADER, it simply allows for a distinction between things that come before the document and things that come after.

ARTICLE = This stuff here is a self-contained document that is capable of standing on its own. If you want to just grab the meat of this page this is what you want.

ASIDE = Stuff that isn't critical to the rest of the content on the page (like the news sidebar on this site)

SECTION = Arbitrary way to divy things up if you so choose to. I'm not a big fan of this one because it seems to me exactly the same thing as what DIV was supposed to be.

MENU = Everyone thinks menu is a bit "off"... which is why no one supports it. Since no one supports it it probably won't be around much longer (unless someone can think of a way to actually use it effectively)

Anyway, I won't go through them all, because most of the remaining ones are not terribly useful. HTML5 is not perfect - never said it was. I just don't see why you are so hell bent against it. At least some of the semantic tags make a lot of sense - your contention that they all just replicate existing tags doesn't jive for me at all. Sure, you can hack a lot of the existing semantic tags into whatever you want them to mean, but then you have lost their initial meaning. For example, an H1 should be the top level heading in a document - a HEADER of a webpage is something else entirely - HTML5 just makes that distinction explicit.

It brings in new tags primarily to recognize the fact that "documents" that exist outside of the web (which contain their own existing semantic structure) need a way to be incorporated into existing website structure without having to heavily modify either the website or the document. If you don't see the logic in this I don't know what else I can tell you to convince you.

Reply Parent Score: 2

deathshadow Member since:
2005-07-12

This is how I interpret the new tags...
NAV = The stuff here consists of primary navigation links. If you are looking for the collection of links that the author identifies as authoritive this website you just found it.

In other words UL/A's job, maybe with ARIA roles.... tags you'd probably HAVE inside it ANYWAYS making it a pointless extra container.

HEADER = The stuff here is NOT part of the primary content of this page, it is decorational and/or contains index/navigation items that are not related to the primary content.

Like the H1, maybe a para that's directly under the h1 which means it's not sectional content, making this tag nothing more than justification for the people who insist on ading DIV#header to the markup for no good reason.


FOOTER = Semantically means exactly the same thing as HEADER, it simply allows for a distinction between things that come before the document and things that come after.

This is one I can ALMOST see the point of -- but if it's floating content at the bottom after a HR, I really don't see the need for this to have anything more than a DIV... and that's as a STYLING hook, not a semantic one!


ARTICLE = This stuff here is a self-contained document that is capable of standing on its own. If you want to just grab the meat of this page this is what you want.

In other words all content that should be between H2's or between an H2 and a HR... assuming you bother with the semantic meaning of HR. (but much like the rest of the elements, nobody bothers looking at the meaning and goes right for it's default appearance)... but then my hand flies up ready to deliver a "Benjamin Sisko's mother-**** pimp-slap" every time I see H1 containing a title immediately followed by a h2 with a tagline inside it... when that tagline is NOT the start of a subsection of the document.

ASIDE = Stuff that isn't critical to the rest of the content on the page (like the news sidebar on this site)

Which is NOT what an ASIDE means, though certainly everyone seems to be ABUSING it as such -- an aside is a side note about the main topic, that isn't integral to it. Using it for elements unrelated to the main topic means it's not an ASIDE...

I'm not sure what good an element nobody is going to use for what it means is going to be in a specification where nobody is bothering to do that anyways...

SECTION = Arbitrary way to divy things up if you so choose to. I'm not a big fan of this one because it seems to me exactly the same thing as what DIV was supposed to be.

Which is how I see all these other elements. DIV -- division, divide it up into sections.

MENU = Everyone thinks menu is a bit "off"... which is why no one supports it. Since no one supports it it probably won't be around much longer (unless someone can think of a way to actually use it effectively)

Doesn't help W3SchoolhouseRot is already abusing it incorrectly in their examples... though these days that steaming pile of webrot only continues to plod on like the old gray mare because nubes are STILL dumb enough to think the site has anything to do with the W3C. (which it doesn't).

Funny thing is, if they just brought menu back as what it was in 3.2, it would automatically work everywhere and be a great option instead of NAV.

Anyway, I won't go through them all, because most of the remaining ones are not terribly useful.

Funny that, the ones I think are useful you didn't mention. DATALIST, WBR, and MARK... and I only list MARK because it means no more stuffing a class on SPAN's for doing that. I really wish there were a lot less of these pointless grouping containers redundant to DIV and a lot more MEANINGFUL tags for wrapping raw CDATA. METER, PROGRESS and TIME for example aren't bad either.

But those aren't the ones anyone's even trying to use or getting excited about -- and I really don't get that. The "semantic" block level grouping containers really are bloat, nothing more.

For example, an H1 should be the top level heading in a document

under-which all other headings are the start of subsections... meaning it should be the topmost eading on the page; like the heading on the site. I fail to see how flushing heading structure down the crapper and "making them all H1", abusing the h1/H2 pairing for taglines, and grouping them in an extra tag for nothing is an improvement -- unless it's throwing your hands up in the air and saying "Screw it, people are too stupid to use numbered headings".

I think in a lot of ways that's my biggest issue with 5 -- a LOT of it seems to be "people are just vomiting up 3.2 and slapping tranny on it. Oh well, let's placate them and to hell with making things better"... hence the looser rules, more tags for people to abuse and mis-use when they can't even use any of the existing tags right, etc, etc...

It's like the W3C threw it's hands up in the air and said "Oh well, just barf up a spec any old way".

Edited 2011-08-18 02:13 UTC

Reply Parent Score: 2