10 useful HTML5 Tags and Attributes You Must Know!

by Kenny on
HTML5 has introduced many brand new tags, elements, attributes and features. This post summarized 10 useful new HTML5 tags and attributes.

Look Inside

10 most useful and important HTML5 tags and attributes screenshot
As we know, HTML5 is now becoming a hot topic among web designers and developers as well as bloggers. So, how about you? Interest in HTML5 also? Then you’re come to the right place.

We all know that HTML5 has introduced many brand new tags and elements as well as attributes and features. Some of these are really useful and helpful for our sites. Hence, in the following post, I have summarized 10 useful and important HTML5 tags and attributes that you must know and can’t miss out! Perhaps, you can use these as HTML5 essential before start your own HTML5 website.

OK, before we start, use this HTML5 test tools to see how well does you browser support HTML5.


1. A new DOCTYPE declaration

Having problem remembering long and complicated HTML4 / XHTML 1.0 doctype like below?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

If so, then you will surely love the new doctype by HTML5, which looks simple, clean and easy to memorize. Here it is:

<!DOCTYPE html>
#Tips: Always add the <!DOCTYPE> declaration to your HTML documents, so that the browser knows what type of document to expect. – by w3schools 


2. Getting Simple – No more Type attribute for script and link

This is how you define your <script> and <link> tags in HTML4.

<link rel="stylesheet" type="text/css" href="style.css" />
<script type="text/javascript" src="script.js"></script>

In HTML5, you don’t have to specify the MIME type value for your <script> and <link> tag. All scripts and styles are assumed to be type="text/javascript" and type="text/css". You can simply write your code as:

<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
#Tips: HTML5 has added new attribute for <script> tag, which is async. With this attribute, the script will be executed asynchronously as soon as it is available.


3. Semantic Structure – header , footer & nav

Previously, we added an id or classes to HTML structure and perhaps, it can be serve as pseudo-semantic structure. But by nature, div have no semantic structure even after added an id.

<div id="header">
<div id="nav">
<div id="footer">

Hereby, HTML5 were created to help us better explain the semantic structure. New HTML5 tags like <header><nav> and <footer> can be used to replace the mark-up above, with provide semantic structure to content.



4. Semantic Structure – article vs section

HTML5 also offers new <article> and <section> tags to help us create semantic content.


<section> tag defines sections in a HTML such as headers, footers, or any other sections of content.


The <article> tag is used to specify independent and self-contained content.

=== Find out more about HTML5 <article> and <section> tags from links below! ===
http://oli.jp/2009/html5-structure1/ (div vs section vs article)


5. New HTML5 Form Input Types and Attributes

HTML5 has introduced 13 new input types and several new attributes for <form> and <input> tags. However, not all browsers are fully support HTML5 new input types and attribute. By the way, you might have to try out these amazing HTML5 form, some new features has been added for instance the browser-based validation, build-in placeholder and new input types.

<form id="myform">
	Name: <input name="name" required placeholder="Your name" pattern="[A-z]{7}" />
	Email: <input type="email" name="email" required placeholder="[email protected]"/>
	URL: <input type="url" name="url" placeholder="Homepage URL"/>
	Age: <input type="number" name="age" min="18" max="99" />
	Description: <textarea name="desc" placeholder="Describe yourself here..."></textarea>
	<input type="submit" value="Submit" />

The form above using new HTML5 input types like email, url and number, and new HTML5 input attributes like required, pattern(regexp), min, max and placeholder.

By the way, you can always check the full list of new HTML5 input types and attributes here.

#Tips: At this time, we cannot depend on browser validation. A server/client side solution must still beimplemented. – by tutsplus.com

=== Find out more about HTML5 Form and Inputs elements from links below! ===
HTML5 Form with CSS3 Markup
http://www.bradshawenterprises.com/tests/formdemo.php (HTML5 form demo)


6. HTML5 Canvas

The most exciting feature, HTML5 <canvas> tag allows us to render 2D shapes or graphics on web page with help of JavaScript. Moreover, we’re able to create an animation using HTML5 Canvas.
The HTML below shows a simple HTML5 Canvas declaration and use JavaScript to draw a blue rectangle on it.

<canvas id="myCanvas" width="200" height="200"></canvas>

	var c=document.getElementById("myCanvas");
	var ctx=c.getContext("2d");

=== Find out more about HTML5 Canvas from links below! ===


7. HTML5 Audio and Video Support

Previously, to embed an audio or video file on web page we have to rely on third party plugin like Flash through <object> and <embed> tags. To view the media, user requires administrator privileges to install this plugin as well as the browser has to be able to support this plugin.

<object width="400" height="300">
	<param name="movie" value="video.mp4" />
	<embed src="video.mp4" type="application/x-shockwave-flash" ... ></embed>

HTML5 now introduces a new way to embed media via the <audio> and <video> tags. With HTML5, at least we don’t have to worry about plugins problem. But for the time being, not all browsers but most recent version of browsers offer support for HTML5 <audio> and <video> tags.

<audio controls="controls">
	<source src="audio.mp3" type="audio/mp3" />
	<source src="audio.ogg" type="audio/ogg" />
	Your browser does not support the <audio> tag.
<video controls="controls" width="400" height="300">
	<source src="movie.mp4" type="audio/mp4" />
	<source src="media.ogg" type="audio/ogg" />
	Your browser does not support the <video> tag.
#Tips: Multiple <source> tags can be specified in HTML5 <video> and <audio> tags in order to provide different formats for different browsers.
#Tips: It is a good practice to insert text content between <video> tags for browsers that do not support the <video> tag.

=== Find out more about HTML5 <audio> and <video> tags from links below! ===
http://www.youtube.com/html5 (HTML5 version of Youtube)


8. Editable HTML5 Content

HTML5 has offers another cool new attribute – contenteditable. You can make your content editable with adding the contenteditable attribute to it. This feature will be more useful if paired with HTML5 Local Storage (will be explain in below).

<div contenteditable="true">
	Any content here will be editable...
#Tips: You can add contenteditable attribute to your CSS styles to make it editable. – by css-tricks.com 


9. HTML5 Local Storage

Now, no more web browser’s cookies storage needed (perhaps, depend on your usage)! This is because HTML5 has introduces a new way to store the data in user’s browser, known as client-side storage. HTML5 offers two new methods for storing data on user’s browser, which are localStorage and sessionStorage.

	localStorage.variableName = "value";

The localStorage stores the data with no time limit, which means the data can be accessible at anytime and any windows/tabs (with some conditions like same domain and same browser) even if the browser is restarted.

	sessionStorage.variableName = "value";

The sessionStorage stores the data for one session, which means the data is deleted when the browser’s window is closed.
=== Find out more about HTML5 local storage from links below! ===
http://jsperf.com/localstorage-vs-objects/13 (cookies VS localStorage)
http://php-html.net/tutorials/html5-local-storage-guide/ (cookies VS localStorage)


10. HTML5 Custom Data- Attribute

Have you ever use custom attributes inside a tag to store arbitrary data for the purpose of JavaScript? Or store these arbitrary data using class or rel attribute rather than creating custom attributes for the purpose of valid HTML markup.

<div id="div1" class="style" time="3" order="1"></div>
<div id="div1" class="style" time="5" order="3"></div>
<div id="div1" class="style" time="2" order="2"></div>

Thanks to HTML5, we now able to create custom attributes on all HTML elements with the prefix data- and simultaneously, give us valid HTML markup.

<div id="div1" class="style" data-time="3" data-order="1"></div>
<div id="div1" class="style" data-time="5" data-order="3"></div>
<div id="div1" class="style" data-time="2" data-order="2"></div>

=== Find out more about HTML5 data- attribute from links below! ===


Extra: HTML5 Fix for Internet Explorer

Internet Explorer up to version 8.0 can’t read HTML5 tags properly, you can’t style them. Thankfully, Remy Sharp and John Resig have found a fix for this.

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

Simply include this script in the <header> tag and you will be able to style the HTML5 elements in IE.



That’s all for today’s tips and tricks. However, this doesn’t mean all for HTML5, there are still a lot of new tags and attributes by HTML5, I will cover some other useful HTML5 tips in next post. Thanks for reading!

Don't enjoy alone, share with your friends also
Read Next

10 Advanced HTML5 Games