/HTML, html5, markup, semantic, start, tag

HTML5 Where to start?

Everyone is excited about the new kid on the block – HTML5, but where to start and how to use it? There are couple of things you can start using right now with a few hacks for our lovely IE6 and other browsers not yet supporting HTML5. Before we get into it, it’s good to know the level of support of HTML5 in different browsers. These few links can help you find it out.

Not supported elements

Following elements are no longer supported in HTML5:

<acronym>
<applet>
<basefont>
<big>
<center>
<dir>
<font>
<frame>
<frameset>
<noframes>
<s>
<strike>
<tt>
<u>
<xmp>

Now, lets start with a few simple tags.

Doctype

Oh the doctype, who could remember the whole thing?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" >

Instead of old doctype like the one above, we can finally start using something that is really easy to remember.

<!DOCTYPE html>

YES! That’s it, we’re done 🙂 Even Google is using it already.

Character Set

Again, a lot simpler than it used to be.

<meta charset="utf-8" />

<script>, <style> and <link> elements

We’re all used to this

<script type="text/javascript" src="/path/to/my/file.js"></script>
<style type="text/css">
  #myId {
    margin:0px;
  }
</style>
<link type="text/css" rel="stylesheet" href="/path/to/my/file.css" />

but with HTML5 the we can omit the type attributes as the values like above are set as default. Our bit of code becomes a little more clean.

<script src="/path/to/my/file.js"></script>
<style>
  #myId {
    margin:0px;
  }
</style>
<link rel="stylesheet" href="/path/to/my/file.css" />

Semantic structure

A few new elements were added to add a more semantic meaning to well known

tag. Some of those elements are:

<article>
<section>
<aside>
<hgroup>
<header>
<footer>
<nav>
<time>
<mark>
<figure>
<figcaption>

Support in IE

IE9 is supposed to support HTML5 when it’s out, but for now we have to tell IE what type those elements are. To not complicate things too much, all we need to do is make a use of this awesome script. Just paste it within your head tag.

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

Sample page markup

<html lang="en">
<head>
  <title>Title</title>
  <meta charset="utf-8" />
  <meta http-equiv="imagetoolbar" content="no" />
  <meta name="robots" content="index, follow" />
  <meta name="keywords" content="Keywords" />
  <meta name="description" content="Description" />
  <!--[if IE]>
    <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
  <![endif]-->
</head>
<body>
  <div id="wrapAll">
    <header>
      <nav>
        <ul>
          <li><a href="#">Item 1</a></li>
          <li><a href="#">Item 2</a></li>
          <li><a href="#">Item 3</a></li>
        </ul>
      </nav>
    </header>
    <section>
      <article>
        <header>
          <h1>Article Header</h1>
          <time datetime="2010-06-15" pubdate>June 15th, 2010</time>
        </header>
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
      </article>
    </section>
    <footer>
      Footer content
    </footer>
  </div>
</body>
</html>