What we understand today as HTML5 has had a relatively turbulent history. You probably already know that HTML (HyperText Markup Language) is the predominant markup language used to describe content, or data, on the World Wide Web. HTML5 is the latest iteration of that markup language, and includes new features, improvements to existing features, and scripting-based APIs (Application Programming Interfaces).
That said, HTML5 is not a reformulation of previous versions of the language—it includes all valid elements from both HTML4 and XHTML 1.0 (Extensible Hypertext Markup Language Version 1.0). Furthermore, it’s been designed with some primary principles in mind to ensure it works on just about every platform, is compatible with older browsers, and handles errors gracefully. A summary of the design principles that guided the creation of HTML5 can be found on the W3C’s HTML Design Principles page.
First and foremost, HTML5 includes redefinitions of existing markup elements, and new elements that allow web designers to be more expressive in the semantics of their markup. Why litter your page with divs when you can have
footers, and more?
The term “HTML5” has additionally been used to refer to a number of other new technologies and APIs. Some of these include drawing with the
<canvas> element, offline storage, the new
<audio> elements, drag-and-drop functionality, Microdata, embedded fonts, and others.
How did we get here?
The web design industry has evolved in a relatively short time period. Twelve years ago, a website that included images and an eye-catching design was considered “top of the line” in terms of web content.
Now, the landscape is quite different. Simple, performance-driven, Ajax-based web apps that rely on client-side scripting for critical functionality are becoming more and more common. Websites today often resemble standalone software applications, and an increasing number of developers are viewing them as such.
Along the way, web markup evolved. HTML4 eventually gave way to XHTML, which is really just HTML 4 with strict XML-style syntax. Currently, both HTML 4 and XHTML are in general use, but HTML5 is gaining headway.
HTML5 originally began as two different specifications: Web Forms 2.0 and Web Apps 1.0. Both were a result of the changed web landscape, and the need for faster, more efficient, maintainable web applications. Forms and app-like functionality are at the heart of web apps, so this was the natural direction for the HTML5 spec to take. Eventually, the two specs were merged to form what we now call HTML5.
During the time that HTML5 was in development, so was XHTML 2.0. That project has since been abandoned to allow focus on HTML5.
Why should I care about HTML5?
As mentioned, at the core of HTML5 are a number of new semantic elements, as well as several related technologies and APIs. These additions and changes to the language have been introduced with the goal of web pages being easier to code, use, and access.
These new semantic elements, along with other standards like WAI-ARIA and Microdata, help make our documents more accessible to both humans and machines—resulting in benefits for both accessibility and search engine optimization.
The semantic elements, in particular, have been designed with the dynamic web in mind, with a particular focus on making pages more modular and portable.
Finally, the APIs associated with HTML5 help improve on a number of techniques that web developers have been using for years. Many common tasks are now simplified, putting more power in developers’ hands. Furthermore, the introduction of HTML5-based audio and video means there will be less dependence on third-party software and plugins when publishing rich media content on the Web.
Overall, there is good reason to start looking into HTML5’s new features and APIs.
This is an excerpt from HTML5 & CSS3 for the Real World, by Alexis Goldstein, Louis Lazaris & Estelle Weyl.