HTML5 Tag Reference

HTML5

HTML5 improves interoperability and reduces development costs by making precise rules on how to handle all HTML elements, and how to recover from errors.

Some of the new features in HTML5 are functions for embedding audio, video, graphics, client-side data storage, and interactive documents. HTML5 also contains new elements like <nav>, <header>, <footer>, and <figure>.

The HTML5 working group includes AOL, Apple, Google, IBM, Microsoft, Mozilla, Nokia, Opera, and many hundreds of other vendors.

Note: HTML5 is not a W3C recommendation yet!

To read about the HTML5 activities at W3C, please read our W3C tutorial.


Ordered Alphabetically

New : New tags in HTML5.

TagDescription
<!–…–>Defines a comment
<!DOCTYPE>Defines the document type
<a>Defines a hyperlink
<abbr>Defines an abbreviation
<acronym>Not supported in HTML5.
<address>Defines an address element
<applet>Not supported in HTML5.
<area>Defines an area inside an image map
<article>NewDefines an article
<aside>NewDefines content aside from the page content
<audio>NewDefines sound content
<b>Defines bold text
<base>Defines a base URL for all the links in a page
<basefont>Not supported in HTML5.
<bdo>Defines the direction of text display
<big>Not supported in HTML5.
<blockquote>Defines a long quotation
<body>Defines the body element
<br>Inserts a single line break
<button>Defines a push button
<canvas>NewDefines graphics
<caption>Defines a table caption
<center>Not supported in HTML5.
<cite>Defines a citation
<code>Defines computer code text
<col>Defines attributes for table columns
<colgroup>Defines groups of table columns
<command>NewDefines a command button
<datalist>NewDefines a dropdown list
<dd>Defines a definition description
<del>Defines deleted text
<details>NewDefines details of an element
<dfn>Defines a definition term
<dir>Not supported in HTML5.
<div>Defines a section in a document
<dl>Defines a definition list
<dt>Defines a definition term
<em>Defines emphasized text
<embed>NewDefines external interactive content or plugin
<fieldset>Defines a fieldset
<figcaption>NewDefines the caption of a figure element
<figure>NewDefines a group of media content, and their caption
<font>Not supported in HTML5.
<footer>NewDefines a footer for a section or page
<form>Defines a form
<frame>Not supported in HTML5.
<frameset>Not supported in HTML5.
<h1> to <h6>Defines header 1 to header 6
<head>Defines information about the document
<header>NewDefines a header for a section or page
<hgroup>NewDefines information about a section in a document
<hr>Defines a horizontal rule
<html>Defines an html document
<i>Defines italic text
<iframe>Defines an inline sub window (frame)
<img>Defines an image
<input>Defines an input field
<ins>Defines inserted text
<keygen>NewDefines a generated key in a form
<kbd>Defines keyboard text
<label>Defines a label for a form control
<legend>Defines a title in a fieldset
<li>Defines a list item
<link>Defines a resource reference
<map>Defines an image map
<mark>NewDefines marked text
<menu>Defines a menu list
<meta>Defines meta information
<meter>NewDefines measurement within a predefined range
<nav>NewDefines navigation links
<noframes>Not supported in HTML5.
<noscript>Defines a noscript section
<object>Defines an embedded object
<ol>Defines an ordered list
<optgroup>Defines an option group
<option>Defines an option in a drop-down list
<output>NewDefines some types of output
<p>Defines a paragraph
<param>Defines a parameter for an object
<pre>Defines preformatted text
<progress>NewDefines progress of a task of any kind
<q>Defines a short quotation
<rp>NewUsed in ruby annotations to define what to show browsers that to not support the ruby element.
<rt>NewDefines explanation to ruby annotations.
<ruby>NewDefines ruby annotations
<s>Defines text that is no longer correct
<samp>Defines sample computer code
<script>Defines a script
<section>NewDefines a section
<select>Defines a selectable list
<small>Defines small text
<source>NewDefines media resources
<span>Defines a section in a document
<strike>Not supported in HTML5.
<strong>Defines strong text
<style>Defines a style definition
<sub>Defines subscripted text
<summary>NewDefines the header of a “detail” element
<sup>Defines superscripted text
<table>Defines a table
<tbody>Defines a table body
<td>Defines a table cell
<textarea>Defines a text area
<tfoot>Defines a table footer
<th>Defines a table header
<thead>Defines a table header
<time>NewDefines a date/time
<title>Defines the document title
<tr>Defines a table row
<tt>Not supported in HTML5.
<u>Not supported in HTML5.
<ul>Defines an unordered list
<var>Defines a variable
<video>NewDefines a video
<wbr>NewDefines a possible line-break
<xmp>Not supported in HTML5.

 

HTML5 Form Attributes

HTML5 New Form Attributes

This chapter covers some of the new attributes for <form> and <input>.

New form attributes:

  • autocomplete
  • novalidate

New input attributes:

  • autocomplete
  • autofocus
  • form
  • form overrides (formaction, formenctype, formmethod, formnovalidate, formtarget)
  • height and width
  • list
  • min, max and step
  • multiple
  • pattern (regexp)
  • placeholder
  • required

Browser Support

AttributeIEFirefoxOperaChromeSafari
autocomplete8.03.59.53.04.0
autofocusNoNo10.03.04.0
formNoNo9.5NoNo
form overridesNoNo10.5NoNo
height and width8.03.59.53.04.0
listNoNo9.5NoNo
min, max and stepNoNo9.53.0No
multipleNo3.511.03.04.0
novalidateNoNo11.0NoNo
patternNoNo9.53.0No
placeholderNoNo11.03.03.0
requiredNoNo9.53.0No

 


autocomplete Attribute

The autocomplete attribute specifies that the form or input field should have an autocomplete function.

Note: The autocomplete attribute works with <form>, and the following <input> types: text, search, url, telephone, email, password, datepickers, range, and color.

When the user starts to type in an autocomplete field, the browser should display options to fill in the field:

Example

<form action=”demo_form.asp” method=”get” autocomplete=”on”>
First name: <input type=”text” name=”fname” /><br />
Last name: <input type=”text” name=”lname” /><br />
E-mail: <input type=”email” name=”email” autocomplete=”off” /><br />
<input type=”submit” />
</form>

Note: In some browsers you may need to activate the autocomplete function for this to work.


autofocus Attribute

The autofocus attribute specifies that a field should automatically get focus when a page is loaded.

Note: The autofocus attribute works with all <input> types.

Example

User name: <input type=”text” name=”user_name”  autofocus=”autofocus” />

form Attribute

The form attribute specifies one or more forms the input field belongs to.

Note: The form attribute works with all <input> types.

The form attribute must refer to the id of the form it belongs to:

Example

<form action=”demo_form.asp” method=”get” id=”user_form”>
First name:<input type=”text” name=”fname” />
<input type=”submit” />
</form>
Last name: <input type=”text” name=”lname” form=”user_form” />

Note: To refer to more than one form, use a space-separated list.


Form Override Attributes

The form override attributes allow you to override some of the attributes set for the form element.

The form override attributes are:

  • formaction – Overrides the form action attribute
  • formenctype – Overrides the form enctype attribute
  • formmethod – Overrides the form method attribute
  • formnovalidate – Overrides the form novalidate attribute
  • formtarget – Overrides the form target attribute

Note: The form override attributes works with the following <input> types: submit and image.

Example

<form action=”demo_form.asp” method=”get” id=”user_form”>
E-mail: <input type=”email” name=”userid” /><br />
<input type=”submit” value=”Submit” />
<br />
<input type=”submit” formaction=”demo_admin.asp” value=”Submit as admin” />
<br />
<input type=”submit” formnovalidate=”true”
value=”Submit without validation” />
<br />
</form>

Note: These attributes are helpful for creating different submit buttons.


height and width Attributes

The height and width attributes specifies the height and width of the image used for the input type image.

Note: The height and width attributes only works with <input> type: image.

Example

<input type=”image” src=”img_submit.gif” width=”24″ height=”24″ />



list Attribute

The list attribute specifies a datalist for an input field. A datalist is a list of options for an input field.

Note: The list attribute works with the following <input> types: text, search, url, telephone, email, date pickers, number, range, and color.

Example

Webpage: <input type=”url” list=”url_list” name=”link” />
<datalist id=”url_list”>
<option label=”W3Schools” value=”http://www.w3schools.com” />
<option label=”Google” value=”http://www.google.com” />
<option label=”Microsoft” value=”http://www.microsoft.com” />
</datalist>

 


min, max and step Attributes

The min, max and step attributes are used to specify restrictions for input types containing numbers or dates.

The max attribute specifies the maximum value allowed for the input field.

The min attribute specifies the minimum value allowed for the input field.

The step attribute specifies the legal number intervals for the input field (if step=”3″, legal numbers could be -3,0,3,6, etc).

Note: The min, max, and step attributes works with the following <input> types: date pickers, number, and range.

The example below shows a numeric field that accepts values between 0 and 10, with a step of 3 (legal numbers are 0, 3, 6 and 9):

Example

Points: <input type=”number” name=”points” min=”0″ max=”10″ step=”3″ />

 


multiple Attribute

The multiple attribute specifies that multiple values can be selected for an input field.

Note: The multiple attribute works with the following <input> types: email, and file.

Example

Select images: <input type=”file” name=”img” multiple=”multiple” />

 


novalidate Attribute

The novalidate attribute specifies that the form or input field should not be validated when submitted.

If this attribute is present the form will not validate form input.

Note: The novalidate attribute works with: <form> and the following <input> types: text, search, url, telephone, email, password, date pickers, range, and color.

Example

<form action=”demo_form.asp” novalidate=”novalidate”>
E-mail: <input type=”email” name=”user_email” />
<input type=”submit” />
</form>

 


pattern Attribute

The pattern attribute specifies a pattern used to validate an input field.

 

Note: The pattern attribute works with the following <input> types: text, search, url, telephone, email, and password

The example below shows a text field that can only contain three letters (no numbers or special characters):

Example

Country code: <input type=”text” name=”country_code”
pattern=”[A-z]{3}” title=”Three letter country code” />

placeholder Attribute

The placeholder attribute provides a hint that describes the expected value of an input field.

Note: The placeholder attribute works with the following <input> types: text, search, url, telephone, email, and password

The hint is displayed in the input field when it is empty, and disappears when the field gets focus:

Example

<input type=”search” name=”user_search”  placeholder=”Search W3Schools” />

 


required Attribute

The required attribute specifies that an input field must be filled out before submitting.

Note: The required attribute works with the following <input> types: text, search, url, telephone, email, password, date pickers, number, checkbox, radio, and file.

Example

Name: <input type=”text” name=”usr_name” required=”required” />

 

HTML5 Form Elements

HTML5 New Form Elements

HTML5 has several new elements and attributes for forms.

This chapter covers the new form elements:

  • datalist
  • keygen
  • output

Browser Support

AttributeIEFirefoxOperaChromeSafari
datalistNoNo9.5NoNo
keygenNoNo10.53.0No
outputNoNo9.5NoNo

 


datalist Element

The datalist element specifies a list of options for an input field.

The list is created with option elements inside the datalist.

To bind a datalist to an input field, let the list attribute of the input field refer to the id of the datalist:

Example

Webpage: <input type=”url” list=”url_list” name=”link” />
<datalist id=”url_list”>
<option label=”W3Schools” value=”http://www.w3schools.com” />
<option label=”Google” value=”http://www.google.com” />
<option label=”Microsoft” value=”http://www.microsoft.com” />
</datalist>

Tip: The option elements should always have a value attribute.


keygen Element

The purpose of the keygen element is to provide a secure way to authenticate users.

The keygen element is a key-pair generator. When a form is submitted, two keys are generated, one private and one public.

The private key is stored on the client, and the public key is sent to the server. The public key could be used to generate a client certificate to authenticate the user in the future.

Currently, the browser support for this element is not good enough to be a useful security standard.

Example

<form action=”demo_form.asp” method=”get”>
Username: <input type=”text” name=”usr_name” />
Encryption: <keygen name=”security” />
<input type=”submit” />
</form>

 


output Element

The output element is used for different types of output, like calculations or script output:

Example

<output id=”result” onforminput=”resCalc()”></output>

 

HTML5 Input Types

HTML5 New Input Types

HTML5 has several new input types for forms. These new features allow for better input control and validation.

This chapter covers the new input types:

  • email
  • url
  • number
  • range
  • Date pickers (date, month, week, time, datetime, datetime-local)
  • search
  • color

Browser Support

Input typeIEFirefoxOperaChromeSafari
emailNoNo9.0NoNo
urlNoNo9.0NoNo
numberNoNo9.07.0No
rangeNoNo9.04.04.0
Date pickersNoNo9.0NoNo
searchNoNo11.0NoNo
colorNoNo11.0NoNo

Note: Opera has the best support for the new input types. However, you can already start using them in all major browsers. If they are not supported, they will behave as regular text fields.


Input Type – email

The email type is used for input fields that should contain an e-mail address.

The value of the email field is automatically validated when the form is submitted.

Example

E-mail: <input type=”email” name=”user_email” />

Tip: Safari on the iPhone recognizes the email input type, and changes the on-screen keyboard to match it (adds @ and .com options).


Input Type – url

The url type is used for input fields that should contain a URL address.

The value of the url field is automatically validated when the form is submitted.

Example

Homepage: <input type=”url” name=”user_url” />

Tip: Safari on the iPhone recognizes the url input type, and changes the on-screen keyboard to match it (adds .com option).


Input Type – number

The number type is used for input fields that should contain a numeric value.

You can also set restrictions on what numbers are accepted:

Example

Points: <input type=”number” name=”points” min=”1″ max=”10″ />

Use the following attributes to specify restrictions for the number type:

AttributeValueDescription
maxnumberSpecifies the maximum value allowed
minnumberSpecifies the minimum value allowed
stepnumberSpecifies legal number intervals (if step=”3″, legal numbers could be -3,0,3,6, etc)
valuenumberSpecifies the default value

 

Tip: Safari on the iPhone recognizes the number input type, and changes the on-screen keyboard to match it (shows numbers).


Input Type – range

The range type is used for input fields that should contain a value from a range of numbers.

The range type is displayed as a slider bar.

You can also set restrictions on what numbers are accepted:

Example

<input type=”range” name=”points” min=”1″ max=”10″ />

Use the following attributes to specify restrictions for the range type:

AttributeValueDescription
maxnumberSpecifies the maximum value allowed
minnumberSpecifies the minimum value allowed
stepnumberSpecifies legal number intervals (if step=”3″, legal numbers could be -3,0,3,6, etc)
valuenumberSpecifies the default value

 


Input Type – Date Pickers

HTML5 has several new input types for selecting date and time:

  • date – Selects date, month and year
  • month – Selects month and year
  • week – Selects week and year
  • time – Selects time (hour and minute)
  • datetime – Selects time, date, month and year (UTC time)
  • datetime-local – Selects time, date, month and year (local time)

The following example allows you to select a date from a calendar:

Example

Date: <input type=”date” name=”user_date” />

Input Type – search

The search type is used for search fields, like a site search, or Google search.

The search field behaves like a regular text field.


Input Type – color

The color type is used for input fields that should contain a color.

This input type will allow you to select a color from a color picker:

Example

Color: <input type=”color” name=”user_color” />

 

HTML5 Web Storage

Storing Data on the Client

HTML5 offers two new objects for storing data on the client:

  • localStorage – stores data with no time limit
  • sessionStorage – stores data for one session

Earlier, this was done with cookies. Cookies are not suitable for large amounts of data, because they are passed on by EVERY request to the server, making it very slow and in-effective.

In HTML5, the data is NOT passed on by every server request, but used ONLY when asked for. It is possible to store large amounts of data without affecting the website’s performance.

The data is stored in different areas for different websites, and a website can only access data stored by itself.

HTML5 uses JavaScript to store and access the data.


The localStorage Object

The localStorage object stores the data with no time limit. The data will be available the next day, week, or year.

How to create and access a localStorage:

Example

<script type=”text/javascript”>
localStorage.lastname=”Smith”;
document.write(localStorage.lastname);
</script>

The following example counts the number of times a user has visited a page:

Example

<script type=”text/javascript”>
if (localStorage.pagecount)
{
localStorage.pagecount=Number(localStorage.pagecount) +1;
}
else
{
localStorage.pagecount=1;
}
document.write(“Visits “+ localStorage.pagecount + ” time(s).”);
</script>

The sessionStorage Object

The sessionStorage object stores the data for one session. The data is deleted when the user closes the browser window.

How to create and access a sessionStorage:

Example

<script type=”text/javascript”>
sessionStorage.lastname=”Smith”;
document.write(sessionStorage.lastname);
</script>

The following example counts the number of times a user has visited a page, in the current session:

Example

<script type=”text/javascript”>
if (sessionStorage.pagecount)
{
sessionStorage.pagecount=Number(sessionStorage.pagecount) +1;
}
else
{
sessionStorage.pagecount=1;
}
document.write(“Visits “+sessionStorage.pagecount+” time(s) this session.”);
</script>

HTML5 Canvas

The canvas element is used to draw graphics on a web page.

 


What is Canvas?

The HTML5 canvas element uses JavaScript to draw graphics on a web page.

A canvas is a rectangular area, and you control every pixel of it.

The canvas element has several methods for drawing paths, boxes, circles, characters, and adding images.


Create a Canvas Element

Add a canvas element to the HTML5 page.

Specify the id, width, and height of the element:

<canvas id=”myCanvas” width=”200″ height=”100″></canvas>

 


Draw With JavaScript

The canvas element has no drawing abilities of its own. All drawing must be done inside a JavaScript:

<script type=”text/javascript”>
var c=document.getElementById(“myCanvas”);
var cxt=c.getContext(“2d”);
cxt.fillStyle=”#FF0000″;
cxt.fillRect(0,0,150,75);
</script>

JavaScript uses the id to find the canvas element:

var c=document.getElementById(“myCanvas”);

Then, create a context object:

var cxt=c.getContext(“2d”);

The getContext(“2d”) object is a built-in HTML5 object, with many methods to draw paths, boxes, circles, characters, images and more.

The next two lines draws a red rectangle:

cxt.fillStyle=”#FF0000″;
cxt.fillRect(0,0,150,75);

The fillStyle method makes it red, and the fillRect method specifies the shape, position, and size.

HTML5 Audio

HTML5 provides a standard for playing audio.


Audio on the Web

Until now, there has never been a standard for playing audio on a web page.

Today, most audio are played through a plugin (like flash). However, not all browsers have the same plugins.

HTML5 specifies a standard way to include audio, with the audio element.

The audio element can play sound files, or an audio stream.


Audio Formats

Currently, there are 3 supported formats for the audio element:

FormatIE 8Firefox 3.5Opera 10.5Chrome 3.0Safari 3.0
Ogg VorbisNoYesYesYesNo
MP3NoNoNoYesYes
WavNoYesYesNoYes

 


How It Works

To play an audio file in HTML5, this is all you need:

<audio src=”song.ogg” controls=”controls”>
</audio>

The control attribute is for adding play, pause, and volume controls.

Insert content between the <audio> and </audio> tags for browsers that do not support the audio element:

Example

<audio src=”song.ogg” controls=”controls”>
Your browser does not support the audio element.
</audio>

The example above uses an Ogg file, and will work in Firefox, Opera and Chrome.

To make the audio work in Safari, the audio file must be of type MP3 or Wav.

The audio element allows multiple source elements. Source elements can link to different audio files. The browser will use the first recognized format:

Example

<audio controls=”controls”>
<source src=”song.ogg” type=”audio/ogg” />
<source src=”song.mp3″ type=”audio/mpeg” />
Your browser does not support the audio element.
</audio>



Internet Explorer

Internet Explorer 8 does not support the audio element. In IE 9, there will be support for audio element.


All <audio> Attributes

AttributeValueDescription
autoplayautoplaySpecifies that the audio will start playing as soon as it is ready.
controlscontrolsSpecifies that controls will be displayed, such as a play button.
looploopSpecifies that the audio will start playing again (looping) when it reaches the end
preloadpreloadSpecifies that the audio will be loaded at page load, and ready to run. Ignored if autoplay is present.
srcurlSpecifies the URL of the audio to play

 

 

HTML5 Video

Video on the Web

Until now, there has never been a standard for showing video on a web page.

Today, most videos are shown through a plugin (like flash). However, not all browsers have the same plugins.

HTML5 specifies a standard way to include video, with the video element.


Video Formats

Currently, there are 3 supported video formats for the video element:

FormatIEFirefoxOperaChromeSafari
OggNo3.5+10.5+5.0+No
MPEG 4NoNoNo5.0+3.0+
WebMNoNo10.6+6.0+No
  • Ogg = Ogg files with Theora video codec and Vorbis audio codec
  • MPEG4 = MPEG 4 files with H.264 video codec and AAC audio codec
  • WebM = WebM files with VP8 video codec and Vorbis audio codec

How It Works

To show a video in HTML5, this is all you need:

<video src=”movie.ogg” controls=”controls”>
</video>

The control attribute is for adding play, pause, and volume controls.

It is also always a good idea to include the width and height attributes.

Insert content between the <video> and </video> tags for browsers that do not support the video element:

Example

<video src=”movie.ogg” width=”320″ height=”240″ controls=”controls”>
Your browser does not support the video tag.
</video>

The example above uses an Ogg file, and will work in Firefox, Opera and Chrome.

To make the video work in Safari and future versions of Chrome, we must add a MPEG4 and WebM file.

The video element allows multiple source elements. Source elements can link to different video files. The browser will use the first recognized format:

Example

<video width=”320″ height=”240″ controls=”controls”>
<source src=”movie.ogg” type=”video/ogg” />
<source src=”movie.mp4″ type=”video/mp4″ />
<source src=”movie.webm” type=”video/webm” />
Your browser does not support the video tag.
</video>

Internet Explorer

Internet Explorer 8 does not support the video element. In IE 9, there will be support for video element using MPEG4.


All <video> Attributes

AttributeValueDescription
audiomutedDefining the default state of the the audio. Currently, only “muted” is allowed
autoplayautoplayIf present, then the video will start playing as soon as it is ready
controlscontrolsIf present, controls will be displayed, such as a play button
heightpixelsSets the height of the video player
looploopIf present, the video will start over again, every time it is finished
posterurlSpecifies the URL of an image representing the video
preloadpreloadIf present, the video will be loaded at page load, and ready to run. Ignored if “autoplay” is present
srcurlThe URL of the video to play
widthpixelsSets the width of the video player

 

HTML5 New Elements

New Elements in HTML5

The internet has changed a lot since HTML 4.01 became a standard in 1999.

Today, some elements in HTML 4.01 are obsolete, never used, or not used the way they were intended to. These elements are deleted or re-written in HTML5.

To better handle today’s internet use, HTML5 also includes new elements for better structure, drawing, media content, and better form handling.


New Markup Elements

New elements for better structure:

TagDescription
<article>For external content, like text from a news-article, blog, forum, or any other content from an external source
<aside>For content aside from the content it is placed in. The aside content should be related to the surrounding content
<command>A button, or a radiobutton, or a checkbox
<details>For describing details about a document, or parts of a document
<summary>A caption, or summary, inside the details element
<figure>For grouping a section of stand-alone content, could be a video
<figcaption>The caption of the figure section
<footer>For a footer of a document or section, could include the name of the author, the date of the document, contact information, or copyright information
<header>For an introduction of a document or section, could include navigation
<hgroup>For a section of headings, using <h1> to <h6>, where the largest is the main heading of the section, and the others are sub-headings
<mark>For text that should be highlighted
<meter>For a measurement, used only if the maximum and minimum values are known
<nav>For a section of navigation
<progress>The state of a work in progress
<ruby>For ruby annotation (Chinese notes or characters)
<rt>For explanation of the ruby annotation
<rp>What to show browsers that do not support the ruby element
<section>For a section in a document. Such as chapters, headers, footers, or any other sections of the document
<time>For defining a time or a date, or both
<wbr>Word break. For defining a line-break opportunity.

 


New Media Elements

HTML5 provides a new standard for media content:

TagDescription
<audio>For multimedia content, sounds, music or other audio streams
<video>For video content, such as a movie clip or other video streams
<source>For media resources for media elements, defined inside video or audio elements
<embed>For embedded content, such as a plug-in

 


The Canvas Element

The canvas element uses JavaScript to make drawings on a web page.

TagDescription
<canvas>For making graphics with a script

 


New Form Elements

HTML5 offers more form elements, with more functionality:

TagDescription
<datalist>A list of options for input values
<keygen>Generate keys to authenticate users
<output>For different types of output, such as output written by a script

New Input Type Attribute Values

Also, the input element’s type attribute has many new values, for better input control before sending it to the server:

TypeDescription
telThe input value is of type telephone number
searchThe input field is a search field
urlThe input value is a URL
emailThe input value is one or more email addresses
datetimeThe input value is a date and/or time
dateThe input value is a date
monthThe input value is a month
weekThe input value is a week
timeThe input value is of type time
datetime-localThe input value is a local date/time
numberThe input value is a number
rangeThe input value is a number in a given range
colorThe input value is a hexadecimal color, like #FF8800

 

 

HTML5 Introduction

What is HTML5?

HTML5 will be the new standard for HTML, XHTML, and the HTML DOM.

The previous version of HTML came in 1999. The web has changed a lot since then.

HTML5 is still a work in progress. However, most modern browsers have some HTML5 support.


How Did HTML5 Get Started?

HTML5 is a cooperation between the World Wide Web Consortium (W3C) and the Web Hypertext Application Technology Working Group (WHATWG).

WHATWG was working with web forms and applications, and W3C was working with XHTML 2.0. In 2006, they decided to cooperate and create a new version of HTML.

Some rules for HTML5 were established:

  • New features should be based on HTML, CSS, DOM, and JavaScript
  • Reduce the need for external plugins (like Flash)
  • Better error handling
  • More markup to replace scripting
  • HTML5 should be device independent
  • The development process should be visible to the public

New Features

Some of the most interesting new features in HTML5:

  • The canvas element for drawing
  • The video and audio elements for media playback
  • Better support for local offline storage
  • New content specific elements, like article, footer, header, nav, section
  • New form controls, like calendar, date, time, email, url, search

Browser Support

HTML5 is not yet an official standard, and no browsers have full HTML5 support.

But all major browsers (Safari, Chrome, Firefox, Opera, Internet Explorer) continue to add new HTML5 features to their latest versions.