5 Reasons Why You Can Use HTML5 Today

In our recent poll, almost half the respondents stated it was too early to use HTML5, while 3% claimed they would never use it. While risks exist, there are several good reasons to invest in HTML5 today.

1. The HTML5 Specification Will Never Be Complete

Perhaps that’s an overstatement, but let me explain further…Developers understand software specifications and few would be willing to cut code based on a draft document; however, the HTML5 specification is different to your typical software specification. The W3C is no innovator: it does not lay down rules for browser vendors to follow. Vendors lead the way and their technology ideas are ultimately accepted, rejected, or tweaked to become part of the W3C specification.It’s highly unlikely the HTML5 specification will ever be fully complete. The only point when it could happen is when vendors and the W3C draw a line in the sand and move onto HTML6 (or whatever they name the next standard). If you wait for the final HTML5 specification, you’ll miss out.

2. HTML5 is HTML

Unlike the failed XHTML 2.0 specification, HTML5 is an evolution of HTML4/XHTML 1.0. You know most of it already. There are 28 additional tags and a few new techniques, but you won’t be using a completely new mark-up language.Development tools are a little difficult to find, but validators are starting to appear — validator.nu is one of the best.

3. Legacy Browser Support is Rarely a Problem

Firefox, Chrome, Safari, and Opera can all use HTML5 today. The users of those browsers tend to upgrade quickly, so there’s little need to worry about old versions that could implement bizarre parsing rules.That leaves us with Internet Explorer. It does not recognize the new tags, but can be forced to parse them if you add a JavaScript shiv to your page which ‘creates’ the associated HTML5 elements, for example:

document.createElement("header");document.createElement("footer");document.createElement("nav");// etc, etc…

Include the following code in your page head and IE6, 7, and 8 will magically become HTML5 aware:

<!--[if lt IE 9]><script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->

This won’t help the browser understand technologies such as audio, video, and SVG. In those situations, you’ll need to use a fallback such as Flash, but I suspect we’ll be doing that to support legacy browsers for many years to come.

Tip: HTML5 Inline Elements

Most browsers, including IE and Firefox, assume the new HTML5 elements are inline by default. Since you’ll almost certainly want an element such as header to be a block-level element, remember to use display: block; in your CSS.

Now I suspect some of you are thinking: Whoa! Hold on there — what about accessibility? What if my IE user has JavaScript disabled? A fair point, but realistically, how many people does it affect? IE9 will support HTML5, IE’s market share shrinks every month, and I suspect many IE users can’t disable JavaScript even if they wanted to. Besides, if you’ve already abandoned IE6, that would have affected a far larger proportion of users.Even if non-JavaScript IE users are an important part of your demographic, the worst that will happen is that new HTML5 elements will be unstyled. The page may look bad, but the content and functionality should still work.

4. HTML5 is Happening

Despite the fact that HTML5 has become a loose marketing term like Web 2.0 or Ajax, all the main browser vendors are supporting the standard. They may have their own reasons and agendas, but HTML5 is here today and browser support will continue to improve and evolve at a rapid pace.

5. Don’t Be Left Behind!

HTML5 means different things to different people. To most web developers, it’s an incremental evolution of HTML, so it’s less exciting than periphery technologies such as SVG, canvas, standardized audio/video, geolocation, and so on.Many of your clients and possibly your boss will have a different opinion. To them, HTML5 is the white-hot technology they saw mentioned in the business press; it’s in the iPad so it must be cool. So develop a few HTML5 pages now: you’ll become a guru, be the envy of your peers, and will keep ahead of the game!

tip: Psst … wanna learn HTML5?

SitePoint is running a new HTML5 Live course with John Allsopp starting July 26. See you there!

Free book: Jump Start HTML5 Basics

Grab a free copy of one our latest ebooks! Packed with hints and tips on HTML5's most powerful new features.

  • Anonymous

    you’ll need to use a fallback such as Flash, but I suspect we’ll be doing that to support legacy browsers for many years to come.
    that doesn’t sounds very encouraging, since means double work for developers: make stuff in HTML5 and redo it in Flash
    Clients will not be happy to pay for that either
    I love progress, but so far that doesn’t make economic sense

    • jitendravyas

      agree with you

    • w1nk5

      word

    • Derrick

      You hit the nail on the head.

    • http://brianswebdesign.com skunkbad

      Amen

    • Ernest

      It all depends on the browsers you want to support. If your goal is to support legacy browsers you are already doing 5 times work of “redoing” and hacking to support IE.
      I don’t see this fallback as a big deal in this context.

      • http://www.altimawebsystems.com altima

        Well, if you consider all IEs as ‘legacy browsers’ you are probably right.
        If you can afford yourself to ignore IE users (that maybe as ‘tiny’ as 50% of overall web site audience), you are happy guy and I can be only jealous of you.

      • http://www.optimalworks.net/ Craig Buckler

        Remember that it’s only non-JavaScript IE that can’t render CSS applied to HTML5 tags. That’s a fairly small number of users and you can get around the issue if you want to.

  • http://www.altimawebsystems.com altima

    In those situations, you’ll need to use a fallback such as Flash, but I suspect we’ll be doing that to support legacy browsers for many years to come.

    So that means develop in HTML5 and repeat in Flash
    Don’t see economic sense here, simpler just make it in Flash

    • http://www.optimalworks.net/ Craig Buckler

      It depends. A site such as YouTube will have to support legacy browsers for some time, so Flash video will be necessary. But if you have a content site with a few instructional videos, then I suspect you’ll be able to use video tags and the WebM format within a year. It won’t work in older versions of IE and a few iPhones, but that may not matter to you.

      • BTM

        YouTube will not be migrating completly to HTML5 tag for reasons stated by them many times (eg. no streaming, no DRM)

  • Brin

    Everyone in my office uses Firefox with the NoScript add-on. We tell all of our friends about it.

    You’d be surprised how many users browser with Javascript turned off!

    • http://www.optimalworks.net/ Craig Buckler

      Firefox without JavaScript will still parse HTML5 – it’s only IE6/7/8 which won’t. If you’re a power user who understands what JavaScript is and how it can be disabled, you’re not likely to be an IE user!

      • http://www.patricksamphire.com/ PatrickSamphire

        That’s not totally true. I’ve worked in offices where I’ve not been allowed to install other browsers. (Not while working as a developer, thank God!)

  • Justen

    Good arguments. I admit to having a much lamer reason for using HTML5: the doctype tag is easier to remember ;) Seriously though, very much looking forward to the features that are *not* yet supported consistently, like video & audio, offline data storage, improved form elements and the fun stuff like geolocation. This JS hack is handy but being able to use in lieu of is not of huge benefit to me.

    @Brin: everyone in your office uses FIREFOX with NoScript. In other words, you’re fine. Most people who are concerned about security are already using a real browser like your office pals, and real browsers already support HTML5 elements. The JS hack is purely to bootstrap people riding the short bus. If they have the extreme paranoia necessary to turn of JS but aren’t informed enough to get off that bus, the least they deserve is a funky-looking website IMHO.

    Also of note, turning off JS implies acceptance that you are going to break or despoil most of the places where HTML5 would be usefully applied – e.g. web applications, cutting-edge sites, tech demos, media websites, etc.

    • http://www.tyssendesign.com.au Tyssen

      I admit to having a much lamer reason for using HTML5: the doctype tag is easier to remember ;)

      I’ve been using the doctype for a while just for that reason but as I’m not using any of the new elements yet (although have been using some of the new form attributes and ARIA landmark roles), I don’t really consider myself to be using HTML5 yet.

  • http://ratherodd.com Raffles

    The word Shiv or shiv may refer to:

    * Shiva, a Hindu god, and sometimes used as a Hindu man’s name
    * Shiv (weapon), a type of sharp weapon
    * A fictional location in Magic: The Gathering, see Dominaria
    * Shiv, a villain in the animated series Static Shock
    * Shiv, the woody waste material from flax and linseed plants
    * Simian human immunodeficiency virus
    * Shivnarine Chanderpaul, West Indies cricket player
    * A shortened form of the name Siobhan

    What the hell’s a “javascript shiv”? I’m guessing you mean “sharp weapon” but it’s hardly accurate. What’s wrong with the old “hack” or “workaround”?

    • http://www.optimalworks.net/ Craig Buckler

      Shiv (or sometimes shim) is a word that’s been adopted by several influential people in the industry, including John Resig. You could call it a workaround, but it’s more specific.

      Essentially, you — the developer — need not worry about browser compatibility issues. You can use an HTML5, CSS3, SVG, etc. feature and, if necessary, a shiv will automatically take over when that feature’s not supported.

      • Ks2 Problema

        Strongly suspect this was a typo that bloggers perpetuated into a word… it’s the echo-sphere in action.

        It’s what happens when you have a bunch of people who engage in Xerox-culture.

      • NotesTracker

        I reckon that what was meant here was a “shim” — not a “shiv” which is a sharp stabbing weapon. While the latter might have been used by others, they would seem also to have misused “shiv” so don’t follow their bad example and further mangle the English language!

        A “shim” is a commonly-used engineering term for an object used to make fine spatial adjustments to a constructed object, such as a spacer or wedge. A shim is used as a workaround, rather than having to completely re-engineer/rebuild the main object, so “shim” fits in very well for this Internet Explorer example.

        See http://en.wikipedia.org/wiki/Shim_(spacer) or http://en.wikipedia.org/wiki/Shim_(computing)

        Cheers, Tony Austin
        CEO, Asia/Pacific Computer Services
        http://asiapac.com.au/ or http://notestracker.com/

      • http://www.optimalworks.net/ Craig Buckler

        Personally, I prefer “shim” (and used it in the first draft of this article). But, as Ks2 has pointed out, “shiv” appears to be the word that everyone’s using.

    • http://www.patricksamphire.com/ PatrickSamphire

      I think ‘shiv’ can work, here, even if it’s been introduced by mistake. Kind of in the context of forcing something into a dying browser. :)

  • Vlad Alexander

    Craig, why are you not disclosing the consequences of using HTML5? Please read:
    http://rebuildingtheweb.com/en/irresponsible-to-advocate-html5/

    • http://www.optimalworks.net/ Craig Buckler

      Because I don’t think it’s a very good argument. Saying that you shouldn’t use HTML5 because it’s not supported by HTML Tidy and a few WYSIWYG editors is a bit like saying we shouldn’t use cars because you can’t attach a horse.

      One of the HTML5 rules the author mentions — a div inside an anchor — is just an option. HTML5 permits anchors inside or outside a div. How is it a problem?

      Many authoring tools tools produce shockingly bad HTML4, so it’s not really surprising they fail at HTML5. These tools will eventually catch up or die, but why wait for them?

      • Vlad Alexander

        Craig, the point of the article is that HTML5 advocates should disclose the consequences of using HTML5. In your article, you only paint a rosy picture of HTML5 and fail to inform your readers about possible issues of using HTML5 today.
        You wrote: “HTML5 permits anchors inside or outside a div. How is it a problem?”
        The article gives examples of how three WYSIWYG editors will mangle the markup containing a div inside an anchor. Is mangled markup not a problem for you?

      • MattB

        Craig,
        “a shiv will automatically take over when that feature’s not supported.”
        “Saying that you shouldn’t use HTML5 because it’s not supported by HTML Tidy and a few WYSIWYG editors is a bit like saying we shouldn’t use cars because you can’t attach a horse.”
        So does that make a horse-box a shiv? :-)

      • http://www.optimalworks.net/ Craig Buckler

        @Vlad
        I’d say I paint a realistic picture, rather than a rosy one. But your article highlights a problem which is almost inconsequential. HTML Tidy fails — so avoid using it for HTML5 markup until it’s updated. Most WYSIWYG editors produce (invalid) HTML4 — but that’s still backward compatible with HTML5 so it won’t be an issue (unless you’re allowing the whole page template to be edited rather than just the content).

        I’m not saying HTML5 won’t give you problems — for example, there aren’t many authoring tools or validators yet. But the positive reasons more than outweigh all the negative issues I’ve seen. For new projects, you should certainly consider HTML5.

  • arts-multimedia

    Currently, html 5 is simply not cost effective, it doesn’t deliver the goods when it comes to video because there is no consensus about codecs.
    If that problem is not solved, Flash will remain the major player in the field when it comes to video AND especially audio.
    As I do this work for a living, I have no time to play around with half baked solutions. sorry about that.
    If html delivers the same worldwide adoption as Flash did with video and audio, I’m willing to have a look, but not before that.

    That said, I do keep an eye on progress, especially around multimedia.

    • http://www.optimalworks.net/ Craig Buckler

      I agree. Media-heavy sites will continue to use Flash because it caters for a wider audience (Apple devices aside). But you can still use Flash within an HTML5 page.

  • Sphamandla

    Well there you go more reason to turn to html5. In a previous comment i mentioned html5 having browser support only to find today that firefox,safari,chrome and opera all support html5 so why not turn to this after all it is the future right now which gives more reason to consider it. Im really enjpying this “html5″ although im still learning it myself but i’ll get it sooner rather then later

  • jitendravyas

    I will only use HTML 5 so early if it’s new logical element (header, section etc) if they have meaning for Search engine and Screen readers also otherwise no difference between div id=”header” and html 5 “header”.

  • Ks2 Problema

    Certainly, it makes sense to keep an eye on developments in the HTML5 mess.

    But this article seems to paper over the profound corruption and politicization of the standards process which has occurred and which promises to roil the web dev community and make our jobs that much harder for an unforeseeable time to come.

    Craig Buckler wrote: “Despite the fact that HTML5 has become a loose marketing term like Web 2.0 or Ajax, all the main browser vendors are supporting the standard.”

    But it is NOT a standard and it very much *has* become an almost meaningless buzz marketing term. And support for this non-standard is, well, profoundly unstandardized.

    • http://www.optimalworks.net/ Craig Buckler

      @Ks2
      HTML5 is a standard. Every major browser vendor is implementing it and, in general, it’s quite stable (unlike CSS3 or video formats).

      Unfortunately, the term “HTML5″ has lost it’s real meaning in marketing circles. The term “Ajax” was adopted for client-side interactivity and “HTML5″ now applies to anything you would previously do in Flash.

      Don’t worry about it — real HTML5 can be used today.

  • w1nk5

    I will be using HTML5 for the new doctype alone. However, I will not be using alot of the advanced features until they are widely supported.

  • vandalais

    I’m really amazed at some of the comments on here. Before you begin any design you must know and understand who your site visitors are. I love developing cutting edge sites but you can only do so based on the demographics of you visitors. If budgets allow then you can also include browsers as well as screen size sniffers. Efficient coders have no problem creating style sheets that maximize the visitors experience.
    Developing web sites requires that you continue to learn new techniques and embrace change.

  • http://www.mohammedarif.com arif_iq

    I agree with Craig, we should start developing in HTML5, it may take some time for IE or some other crazy browsers to catch but who cares!
    I am more interested in rich feature of HTML5 rather then saying that you should care for older versions, the same way as we say for IE 6 when we open up youtube, gives you a warning “Please upgrade to a modern browser”.
    And the see the list of already developed sites in HTML5 here http://html5gallery.com/ and it’s been increasing day by day.
    So guys start using it then only you would realize the power of it!

  • NotesTracker

    See “YouTube Developer Blog Gives Flash the Nod Over HTML5″ at http://www.developer.com/article.phpr/3890451/The-Django-Frameworks-Killer-Feature-for-Java-Developers.htm

    This starts with:
    “Google’s YouTube division voiced strong support for Flash this week in a blog post aimed at Web developers, arguing that the emerging HTML5 standard isn’t yet ready to fully replace Adobe’s Flash platform.”

  • http://www.patricksamphire.com/ PatrickSamphire

    I’m planning to do my next site in html5, mainly because I see no point in falling behind the curve. At some point, we’ll *all* (well, apart from 3%, maybe) be developing in html5, and you can either wait until everyone else is doing it and is ahead of you, or you can try to keep up.

    Of course, my next project is a personal project. I would hesitate to use html5 in a large project where I was expecting large numbers of users with older browsers and machines (as some of my previous projects have been). It’s all about context, but good developers should be able to handle various flavours of html.

  • Laz

    Thanks for the article, Craig, I’ll use this when I have to tell people that yes, you can use HTML5 today.

    I’ve been using it for a while now, no problems at all (of course). Currently it’s my default, I just warn the clients first about the very few (do they actually exist? I’d like to meet one) IE users with no javascript who would experience layout problems. And in case this is a problem for the client, I just avoid using the new tags. But I’ll still use the doctype, the new meaning of old tags (like “small”), remove the “type” in scripts and styles and so on.

    I’m not using the video tag as default (yet), but of course it comes very handy for the iPad or the iPhone.

    (It’s kind of weird to read that some people won’t use HTML5 because of… HTML Tidy or WYSIWYG editors. It’s their flaw, not HTML5’s.)

    • Vlad Alexander

      Hi Laz,

      The suggestion is not that HTML5 should not be used, rather that authors who advocate the use of HTML5 today should inform readers of possible consequences; which this article has not done.

      Laz wrote: “It’s kind of weird to read that some people won’t use HTML5 because of… HTML Tidy or WYSIWYG editors. It’s their flaw, not HTML5’s.”

      No, it’s HTML5’s flaw. HTML5 is supposed to be forwards and backwards compatible. However, HTML5 is primarily developed by browser vendors and as a result the compatibility to authoring tools have been ignored.

      • Laz

        Of course the authors should inform readers about consequences. And the only real consequence to point out for HTML5 is for IE users with no javascript. Point taken care of in this article.

        I really can’t see how we can expect anything to be compatible with old authoring tools. But of course it’s perfectly normal to say “I’ll wait untile the tools I use can deal with it”. I do that too, actually, but since I use mostly text editors and online validators, my tools already are, so I use it.

      • http://www.optimalworks.net/ Craig Buckler

        @Vlad
        HTML5 is backward compatible. If your WYSIWYG editor produces HTML4 code, it can be placed within an HTML5 page without any problems whatsoever.

        HTML5 authoring tools may be thin on the ground, but that will certainly change and it doesn’t mean you can’t use it now. You may find HTML Tidy mangles your code, but that can happen with HTML4 too. If you can’t do without a particular tool, then don’t use HTML5 until it’s updated. Personally, I don’t use HTML Tidy and I don’t know anyone who thinks it’s essential.

        Are you saying that vendors shouldn’t add HTML5 tags until authoring tools have been updated? I’m sure tool authors would prefer to wait until tags are supported before they add them to their systems.

        As Laz has pointed out, any text editor will do. Even Windows Notepad is HTML5-compatible!

  • Dinosaur

    Are we talking about specification or browsers? Double the work, messing up with JavaScript for IE and that’s not the point of standard specification, it’s a hack and still can be validated by W3C validation service. Everyone should show a logo written “Valid HTML 5″ and small text below it “with a little bit hack if you’re using IE”

  • Raven-sb

    My concern is this. For a long time HTML was the standard (regardless of version). Then XHTML came along and it was pushed as being the greatest thing since sliced bread with articles such as this one promoting it and cramming it down our throats.
    Now XHTML has been abandoned for HTML5, and given the political who-ha that is associated with the various different groups fighting over it, you’ll forgive me if I’m less than enthusiastic about it. That’s without the issues involving multimedia (flash, apple, etc).
    I’ll keep an eye on it, but personally until it develops a bit more I’m not likely to use it for my main projects. The prospect of it being abandoned, or for one of the standard groups developing it throwing a hissy fit and certain elements being made unvailiable as a result is too much of a concern for me at the moment.

    • http://www.optimalworks.net/ Craig Buckler

      I think there’s a little confusion: XHTML has not been abandoned and is alive and well as XHTML 1.0, 1.1 and 5.

      XHTML1.0 is a straight tag-for-tag copy of HTML4 — it’s just that you needed to write strict XML format.

      XHTML2.0 (and 1.1 to a lesser extent) attempted to improve the technologies but they never caught on — primarily because they lacked IE support, every web page needed to be recoded to support them, and were too strict/revolutionary for most authors.

      HTML5 is a less radical evolution of HTML4. Optionally, you can use XHTML5 syntax and ensure code is well-formed. HTML5 will never be abandoned because it’s already supported. The specification is quite stable and I suspect there won’t be major revisions to the core elements.

      • Raven-sb

        Ok thank you for clearing that up.

  • calbertoferreira

    “The W3C is no innovator: it does not lay down rules for browser vendors to follow.”

    THIS IS THE REAL DAMN PROBLEM!!!!

    That’s why we don’t have uniformity between browsers.
    If every browser vendor was required to follow the rules developed by W3C things would be a lot better for web devs.

    Also lets face it.. does who would make sense to develop to would be mobile devices Android/IOS other than that you would have to use hacks fixes and other stuff, older browsers still make evolution a problem.

  • http://www.brothercake.com/ brothercake

    Putting aside things like canvas, web sockets, and other DOM API stuff which really isn’t HTML5 at all (because it works in any DOM).

    Looking at HTML5 for what it otherwise is now – a bunch of structural elements that most browsers handle – what actually is the point of using HTML5? Who benefits?

    • http://www.optimalworks.net/ Craig Buckler

      I think you’ve answered your own question. If most browsers support these structural elements (and the shorter DOCTYPE, script tags etc.), then why not use them? It makes code cleaner, shorter and easier to read — that certainly benefits developers.

      You will also benefit from the tidal wave of hype. Despite the technical realities, your marketing department can rave about cutting-edge thingamajigs and putting “HTML5″ on your resume makes it more attractive to potential clients and employers.

  • wrox

    4 CORPORATIONS = 4 BROWSERS
    Another clueless HTML 5 hype blog from a non-technical person. A few years ago it was “Web 2.0″ then “Ajax”. This was followed by “Social Networks” and “Social Media”. Today it’s the “Cloud” and “HTML 5″. These are all buzzwords idiots read and hype because they’re clueless.
    The concept of 4 corporations (Microsoft, Mozilla, Google, Apple) developing 4 different browsers with no real standards is a WWW joke. The W3C was doing a good job until IE8/IE7 broke everything last year. Now, Google’s breaking the web even more with Chrome.

    • OpenMinded

      Interesting point of view, wrox. So what changes do you recommend to resolve this? Should all browsers be deemed illegal and thte government step in and write a unified replacement? (tongue in cheek). ;)