html5

Improved support for embedding graphics, audio, and video content via the new <canvas>, <audio>, and <video> tags.
Extensions to the JavaScript API such as geolocation and drag-and-drop as well for storage and caching.
Introduction of “web workers”.
Several new semantic tags were also added to complement the structural logic of modern web applications. These include the <main>, <nav>, <article>, <section>, <header>, <footer>, and <aside> tags.
New form controls, such as <calendar>, <date>, <time>, <email>, <url>, and <search>.

Offline Application cache
Improved Semantics
Cleaner mark-up / Improved Code
Elegant forms and web apps
HTML5 should be device independent

LocalStorage:
Web storage can be viewed simplistically as an improvement on cookies, providing much greater storage capacity. Available size is 5MB which considerably more space to work with than a typical 4KB cookie.
The data is not sent back to the server for every HTTP request (HTML, images, JavaScript, CSS, etc) - reducing the amount of traffic between client and server.
The data stored in localStorage persists until explicitly deleted. Changes made are saved and available for all current and future visits to the site​

sessionStorage:
It is similar to localStorage.
Changes are only available per window (or tab in browsers like Chrome and Firefox). Changes made are saved and available for the current page, as well as future visits to the site on the same window. Once the window is closed, the storage is deleted
The data is available only inside the window/tab in which it was set​

Canvas is a element of HTML5 which uses JavaScript to draw graphics on a web page.
<canvas id="myFirstCanvas" width="100" height="100"> </canvas>

The HTML5 Geolocation API is used to get the geographical position of a user.
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(showPosition);
}

new input tags
tel The input is of type telephone number
search The input field is a search field
url a URL
email One or more email addresses
datetime A date and/or time
date A date
month A month
week A week
time The input value is of type time
datetime-local A local date/time
number A number.
range A number in a given range.
color A hexadecimal color, like #82345c
placeholder Specifies a short hint that describes the expected value of an input field.