HTML 5 (news, site) is the fifth major revision of the web's core language and it has been designed to support the rapidly changing Web 2.0 world we live in today. Let's take a little tour of what this latest version means for web development.
Where We Come From
HTML 4.01 has been the standard for over a decade now. That's a long period, one that has seen many changes in how we build websites and applications for the internet.
Early versions of HTML were not designed to support web applications, although it has certainly served as the basis for many.
With the rise of Web 2.0 which includes much more advanced web applications and rich media like video, audio and animation, many have seen a need for a change.
And that change actually started back in late 2003, but only under copyright by Opera Software. It was in 2004 that Opera, Mozilla and Apple officially joined together announcing plans to continue work on the effort, moving the specifications to the WHATWG -- Web Hypertext Application Technology Working Group, an independent body which looks at HTML development from the perspective of the Web developer and browser deliverables -- site.
The W3C expressed their interest in the work, chartering their own working group in 2007 to work with WHATWG. Opera, Mozilla and Apple agreed to let the W3C publish the HTML 5 spec under their copyright, although they did also decide to maintain a less restrictive license on the WHATWG site.
Where HTML 5 Will Take Us
The HTML 5 specification is still in active development. According to the W3C, it will not be considered complete until there are two complete implementations of the specification.
What are some of the impacts to Web Architecture?
- DOM is used as the basis for defining the language
- The concept of browsing context
- There is a distinction between author requirements and user-agent requirements
- New content model concepts
- A Focus on accessibility as a built-in concept for new features
- Offline Web application caches
- Editable content inside the browser directly
- The idea of sessions and browsing context
- Drag and Drop and Copy and Paste architecture
And a lot more.
Elements and Attributes
A number of new elements have been introduced in this version, some for better structure (section, article, hearder, footer and more), others to support new types of media (like video, audio, canvas and datalists).
We took a closer look at many of these in our article, HTML 5 New Elements, New Draft, Update Report.
Along with new elements, there are new attributes for some existing elements and some new global attributes. Add to this a number of changed attributes and elements and it can all get a little confusing.
It is good to note that several elements are not in the new HTML 5 specification. The following three elements were deemed to effect usability and accessibility (and we're pretty sure many people cursed them):
Also interesting to note that many of the presentational elements found in HTML 4 are not in HTML.
- align attribute on caption, iframe, img, input, object, legend, table, hr, div, h1, h2, h3, h4, h5, h6, p, col, colgroup, tbody, td, tfoot, th, thead and tr
- alink, link, text and vlink attributes on body
- background attribute on body
- bgcolor attribute on table, tr, td, th and body
- border attribute on table and object
- cellpadding and cellspacing attributes on table
These elements and a number of others are considered better handled in CSS.
We are talking about a specification to support web applications, so it makes sense there are some new APIs in the spec. There is an API for:
- Building offline web apps
- 2D drawings
- Working with video and audio
- Editing in the browser
- Drag and Drop
Along with a number of new APIs there are also changes to both HTMLDocument and HTMLElement.
To get the most recent look at what has changed between HTML 4 and HTML 5, you can read the September update on the W3C website.
They Aren't Done Yet
We expect there will still be a number of changes coming in the HTML 5 specification, including changes to support RDFa.
And although it still isn't official, we are seeing implementations of HTML 5 functionality in most of the new browsers today, including FireFox, Safari and Google Chrome. Even Microsoft has announced support for HTML 5 in their next version of Internet Explorer (IE9).
In the meantime, if you'd like to see HTML 5 in action, Google has really jumped on board with the spec and provides a nice demo you can view here: