|So what's wrong with HTML 5? Dec 4, 2012, 04:51 AM||deathshadow|
I started this dissection of HTML 5 on another site, but wanted to make a copy for reference and to go into a bit more detail about it. This will be the first in what I hope will be a series of "what's wrong with" articles.
When it comes to HTML 5 you often hear words bandied about like "Features" and "Benefits" -- and much as John Adams would knee-jerk into a rant about the 'benefits' of belonging to Great Britain as a Colony, I respond with the exact same "Benefits? What benefits? Bloated code, loosened structural rules, pointless redundancies, vendor lock-in?"
It is a philosophical step BACKWARDS from the simplicity of the the REAL HTML 4 (aka STRICT) -- and nothing more than a continuation of the sloppy practices and "gee ain't it neat" nonsense used by the people who never pulled their heads out of 1997's backside! Basically I'm talking about all the folks who continue to write non-semantic or broken semantics HTML 3.2 and slapped a transitional doctype on it. Now they just slap HTML 5's lip-service around their outdated, bloated idiotic rubbish code -- and the net improvement is zero!
When I say this, I'm talking just in terms of markup; the entire point of a markup specification. Let's review the POINT of 4 Strict and some of 5's garbage in that regard, shall we?
The point of HTML 4 strict, and HTML as a whole since the beginning is the device neutral delivery of content. That is to say HTML is there to say what things ARE, or would be in a specific media (like print), and then allow the user agent (browser) to best determine how to deliver that content. We got away from that with HTML 3 when the browser makers just started adding flashy but inaccessible nonsense to their code and everyone and their brother started thinking "desktop screen layout, to blazes with anything else." -- COMPLETELY missing the point. That's part of why HTML 4 got rid of some tags and ENTIRELY why CSS was developed. CSS lets you customize the appearance for different targets, which is why if you're including or writing CSS without using the MEDIA attribute, you've completely missed the point!
One of the core concepts of HTML 4 Strict was to remove redundancies and reduce the number of tags to a simple baseline. A lot of people seem to focus only on the tags removed for being presentational, but that's a REALLY short list: CENTER, FONT and BASEFONT. That's it for strictly presentational tags... Some people would list S and STRIKE as being dropped for presentational, but that's wrong -- they were dropped for being redundant to DEL. The MENU and DIR tags were dropped for being redundant to UL. APPLET and IFRAME were dropped and EMBED not accepted into the specification for being redundant to OBJECT. U wasn't even dropped for being presentational, it was dropped because underlining non-link elements is confusing from an accessibility/usability standpoint! (and is redundant to the two different emphasis tags, EM and STRONG)... and if you think about it, even the presentational tags and attributes were removed for being redundant to CSS!
OBJECT in particular was a major step forward with IMG allegedly even being on the chopping block for the next HTML before they threw said plans in the trash and went with WhatWG's idiocy instead. Why was it a step forward? It moved non-text content into a single tag that you could add or remove formats to on the fly -- meaning you were not at the mercy of the browser makers on format support, and that said formats could be run sand-boxed. (and then browser makers dragged their heels on implementing the latter half of that plan for a decade). It could easily have replaced IMG and given us access to superior image formats like JPEG2000 (and it does so if you have Quicktime installed on IE BTW) if Microsoft hadn't dragged it's heels for a decade and a half about removing the fixed border around it! (The same goes for IFRAME's relationship to OBJECT)
So along comes HTML 5 and what's the biggest markup feature being pimped by the press? VIDEO and AUDIO -- pointlessly redundant tags that took a industry that was FINALLY settling on a standard (flash), and has only fractured things back to the WORST of the 1990's Realplayer vs. WMV vs. Quicktime wars (that ran in parallel to the browser wars). HOW? Simple: each and every blasted browser maker went out and started pimping their own favorite pet codecs and containers... which is why now to deploy video in addition to a flash fallback, you also have to deploy 4 different codec/container combinations. Oh yes, that's 'progress'. RIGHT.....
... and why did this happen? Unrealistic dirty hippy "open sores" advocates ranting and raving about how wonderful the steaming pile of 'also ran' known as Vorbis is, and Apple being total pricks to the people dumb enough to buy their products. It is the pinnacle of vendor lock-in in action.
It's all redundant to OBJECT, there is NO legitimate excuse the new scripting controls for AUDIO and VIDEO couldn't be put on OBJECT (oh noes, one IF statement and/or a new pass-through API, not that).
That's just the tip of the iceberg. The new 'structural' tags are a mish-mash of redundancies and outright non-semantic presentational markup! If, IF, IF you are using headings and horizontal rules properly (the one thing I can say good about 5 is they clarified the description of a HR's job), the SECTION tag serves no legitimate purpose. How can I say that? Simple, a HEADING's job is to indicate the start of a section, and a HR's job is to say where a section change occurs when a heading would be inappropriate/unwanted. As such if you use numbered headings and HR's for what they are for, they are semantically indicating the start and end of sections in the code! (See Opera's heading navigation to see the accessibility created by this in action!). As such, SECTION serves no legitimate purpose, which is why most people are just using it where they were using DIV -- the thing is DIV has no semantic meaning, it's a hook for presentation without saying what said presentation is, which is WHY it should be the preferred tag for such an element as you may or may not be applying presentation to it depending on which of your layouts is in use. Yes, that's PLURAL -- because if you are practicing modern layout strategies, you should have a RESPONSIVE layout meaning multiple different appearances. What's a separate column on a big display could be under the main column on a small one... Playing to HTML's primary job of saying what things are, NOT what they look like -- then using CSS to target specific devices and capabilities.
Goes back to something I've been saying for almost a decade, if you are choosing your tags based on their default appearance, you're choosing the wrong tags.
The new ASIDE tag is a confusing mess since people seem to think means content that's 'off to a side' -- which is presentation, which again HAS NO MALFING BUSINESS IN YOUR MARKUP!!! If we look up the definition of 'aside' the ONLY one that makes any sense semantically would be a literary aside - which is when an actor breaks the fourth wall to deliver a soliloquy or monologue to talk directly to the audience while the rest of the cast ignores the characters actions. That is such a rare occurrence in non-performance literature that using said definition would put ASIDE squarely in the same realm as the rarely if ever used ADDRESS tag. Any other use of it is either ignoring the word's meaning or using it for presentation.
NAV is also pointless, since if they would get off their asses and implement numbered headings for what they are for, you would simply skip to the first second level heading as the start of the main content section. It's an extra tag that the ONLY reason I can figure it exists is to justify the practice of slapping an extra DIV container around menu UL's for no good reason... as if UL isn't a perfectly good block-level container in it's own right. Now they've just made a tag to justify sloppy coding habits.
ARTICLE is just confusing, or at least that's what it seems like from how people are just slapping it around anything that happens to be a run of text, JUST like how people slap P around non-paragraph elements (like INPUT, LABEL, IMG). From a usability standpoint it seems to serve no legitimate purpose, other than to satiate the wants of data scrapers... the type of people many site owners and developers go to web development forums asking how to keep them out!
WBR is redundant to whitespace, CSS break-word AND is presentational. SOURCE is redundant to PARAM, for some screwed up reason EMBED is accepted into the spec... MARK is blatantly presentational, MENU is back for some oddball form usage I've still not been able to get a clear explanation of (I would have brought it back to use for *SHOCK* menus instead of UL), TIME seems to be another data-scraper oriented idiocy that goes hand in hand with the bloated trash your 'microformats' junkies jones for...
About the ONLY new tags and attributes I can find legitimate reasons for are the new form handling attributes -- Which IMHO if you need there's something wrong with your forms -- and the BDI/RUBY/RT/RP tags for East-Asian typography, which to be frank as a English language user means exactly two things to me; and Jack left town, took his **** with him.
... and even some of the form stuff takes a leak on accessibility from so high you'd think the Lord Almighty just got back from an all-night kegger. In particular the placeholder attribute just makes it easier to make forms harder to use, all to stroke the ego's of the "but I can do it in Photoshop" twits who when pressed go "WCAG, what's that?!?"
(thanks go out to Stomme Poes for that link)
That's not even the start of it, with the new loosening of structural rules, destroying the meaning of heading orders to the point you might as well just make them ALL H1, dumbass elements like HGROUP that means the WhatWG doesn't even understand numbered headings purpose (likely the same idiots who use a H2 for a tagline after the H1) -- it all seems carefully crafted to undo all the progress those of us who embraced strict markup, semantics and separation of presentation from content have made over the past decade.
So if none of the new tags and attributes are worth a flying purple fish, what does that leave of value? NOTHING... except the flashy bits of CSS3 and the new scripting that have NOTHING to do with writing markup and can be used just fine with ANY of the older document specifications. I believe that's the entire reason CSS3 and the new scripting are slapped under HTML 5's banner despite having NOTHING to do with actually writing markup -- as without them the Emperor is standing there for all the world to see.
Near as I can tell, there are only five legitimate purposes HTML 5 serves:
1) Justify the sleazeball coding practices of the people who write HTML 3.2 like it's 1998 and have spent the past decade and a half with a tranny doctype on it.
2) Allow Book writers to take their outdated '90's works, replace twenty pages and slap a new title on it.
3) Allow professional lecturers to put more buns in seats to flap their gums about topics they aren't qualified to open their mouths about in the first place.
4) Create a new sick buzzword akin to "Web 2.0" to exploit the ignorance of the suits who think they can get sound technical advice from the pages of Forbes; which is akin to taking financial advice from Popular Electronics.
5) Allow browser makers to dictate to developers what codecs and containers they should be supporting, promoting vendor lock-in.
Of course, when the specification for writing websites is being written for browser makers instead of the people who actually write websites, what can one expect?
Which is why I personally have ZERO plans to migrate past XHTML 1.0 Strict for the foreseeable future... I literally cannot fathom how ANYONE is DUMB ENOUGH to see merit in anything HTML 5 has to offer... and for me to be the one underestimating the stupidity of my fellow man is, well... if you told anyone who knows me they wouldn't believe you!
Joined: Nov 2012
So what's wrong with: YOUR website? HTML 5?
Any intelligent fool can make things bigger and more complex. It takes a touch of genius - and a lot of courage - to move in the opposite direction. -- Albert Einstein