Banner Image

Sort By:
Blog Date

What's the big diff between HTML4 and HTML5?

The primary one difference between HTML4 and HTML5 is consistent, defined error handling. As you know, HTML purposely supports the ability to write malformed code and have it corrected by the browser into a valid displaying web page. The problem is that there are not standards on doing so. When a new browser vendor wants to enter the market, they just have to test malformed documents in various browsers (especially IE) and reverse-engineer their error handling. If they don't, then many pages won't display correctly. 

So, HTML5 is attempting to discover and codify this error handling, so that browser developers can all standardize and greatly reduce the time and money required to display things consistently. As well, long in the future after HTML has died as a document format, historians may still want to read our documents, and having a completely defined parsing algorithm will greatly aid this.

The secondary goal of HTML5 is to develop the ability of the browser to be an application platform, via HTML, CSS, and Javascript. Many elements have been added directly to the language that are currently (in HTML4) Flash or JS-based hacks, such as <canvas>, <video>, and <audio>. Useful things such as Local Storage (a js-accessible browser-built-in sql database, for storing information beyond what cookies can hold), new input types such as date for which the browser can expose easy user interface (so that we don't have to use our js-based calendar date-pickers), and browser-supported form validation will make developing web applications much simpler for the developers, and make them much faster for the users (since many things will be supported natively, rather than hacked in via javascript).

There are many other smaller efforts taking place in HTML5, such as better-defined semantic roles for existing elements (<strong> and <em> now actually mean something different, and even <b> and <i> have vague semantics that should work well when parsing legacy documents) and adding new elements with useful semantics - <article>, <section>, <header>, <aside>, and <nav> should replace the majority of <div>s used on a web page, making your pages a bit more semantic, but more importantly, easier to read. No more painful scanning to see just what that random </div> is closing - instead you'll have an obvious </header>, or </article>, making the structure of your document much more intuitive.

Jon Hartley

Thursday, September 26, 2013 at 12:00 AM

Quote Request

Have questions or comments? Use the form below to drop us a line. We'll be back in touch pronto!

Thank you for contacting DC Web Designers. We will be in touch shortly.

ERROR: Message Not Sent!

You can tell a lot about a company by who hires them.

Thank you for contacting DC Web Designers. We will be in touch shortly.

ERROR: Message Not Sent!