HTML5 is the latest evolution of the standard that defines HTML. The term represents two different concepts:
- A new version of the language HTML, with new elements, attributes, and behaviors.
- A larger set of technologies that allows more diverse and powerful Web sites and applications: this set is called HTML5 & friends and often shortened to just HTML5.
Aimed at all Open Web developers, this reference links to numerous resources about HTML5 technologies, classified in several groups, based on the function: semantics, allowing to describe more precisely what the content is, connectivity, allowing to communicate with the server in new ways, offline & storage, allowing to optimize Web site to store locally data and perform better even when the browser is offline, multimedia, making of video and audio first-class citizen of the Web, 3D, graphics & effects, achieving much more complex presentation, performance & integration, allowing for more speedy Web site, with better integration with the computer, device access, allowing to use more input and output devices, and styling, letting authors to write more sophisticated themes.
Semantics
-
Sections and outlines in HTML5
-
A look at the new outlining and sectioning element in HTML5:
<section> , <article> , <nav> , <header> , <footer> , <aside> and <hgroup> .
-
Using HTML5 audio and video
-
The
<audio> and <video> elements embed and allow the manipution of new multimedia content.
-
Forms in HTML5
-
A look at improvements to web forms in HTML5: the constraint validation API, several new attributes, new values for the
<input> attribute type and the new <output> element.
-
New semantic elements
-
Beside sections, media and forms elements, numerous new elements, like
<mark> , <figure> , <figcaption> , <data> , <time> , <output> , <progress> , or <meter> , increasing the amount of valid HTML5 elements.
-
Improvement in
<iframe>
-
Using the
sandbox , seamless , and srcdoc attributes, authors can now precise the level of security and the wished rendering of an <iframe> element.
-
MathML
-
Allows to directly embed mathematical formulas.
-
Introduction to HTML5
-
This article introduces how to indicate to the problem that you are using HTML5 in your web design or web application.
-
HTML5-compliant parser
-
The parser, which turns the bytes of an HTML document into a DOM, has been extended and defines precisely the behavior to have in all case, even facing invalid HTML, leading a to far more predictability and interoperability between HTML5-compliant browsers.
Connectivity
-
Web Sockets
-
Allows to create a permanent connection between the page and the server and to exchange non-HTML data through that mean.
-
Server-sent events
-
Allows a server to push events to client, rather than the classical paradigm where the server could send data only in response to a client 's request.
-
WebRTC
-
This technology, where RTC stands for Real-Time Communication, allow to connect to other people and control videoconferencing directly in the browser, without the need for a plugin or an external application.
Offline & storage
-
Offline resources: the application cache
-
Firefox fully supports the HTML5 offline resource specification. Most others have offline resource support at some level.
-
Online and offline events
-
Firefox 3 supports WHATWG online and offline events, which let applications and extensions detect whether or not there's an active Internet connection, as well as to detect when the connection goes up and down.
-
WHATWG client-side session and persistent storage (aka DOM Storage)
-
Client-side session and persistent storage allows web applications to store structured data on the client side.
-
IndexedDB
-
Is a web standard for the storage of significant amounts of structured data in the browser and for high performance searches on this data using indexes.
-
Using files from web applications
-
Support for the new HTML5 File API has been added to Gecko, making it possible for web applications to access local files selected by the user. This includes support for selecting multiple files using the
<input> of type file HTML element's new multiple attribute. There also is FileReader .
-
Using HTML5 audio and video
-
The
<audio> and <video> elements embed and allow the manipution of new multimedia content.
-
WebRTC
-
This technology, where RTC stands for Real-Time Communication, allow to connect to other people and control videoconferencing directly in the browser, without the need for a plugin or an external application.
-
Using the Camera API
-
Allows to use, manipulate and store an image from the computer's camera.
3D, graphics & effects
-
Canvas Tutorial
-
Learn about the new
<canvas> element and how to draw graphs and other objects in Firefox
-
HTML5 text API for
<canvas> elements
-
The HTML5 text API is now supported by
<canvas> elements.
-
WebGL
-
WebGL brings 3D graphics to the Web by introducing an API that closely conforms to OpenGL ES 2.0 that can be used in HTML5
<canvas> elements.
-
SVG
-
An XML-based format of vectorial images that can directly be embdedded in the HTML.
-
|
-
Web Workers
-
Allows to delegate JavaScript evaluation to background threads, allowing these activities to prevent slowing down interactive events.
-
XMLHttpRequest Level 2
-
Allows to fetch asynchronously some parts of the page, allowing it to be display dynamic content, varying according the time and user actions. This is the technology behind Ajax.
-
JIT-compiling JavaScript engines
-
The new generation of JavaScript engines are much more powerful , leading to greater performance.
-
History API
-
Allows the manipulation of the browser history. This is especially useful for pages loading interactively new information.
-
The contentEditable attribute: transform your website to a wiki!
-
HTML5 has standardized the contentEditable attribute. Learn more about this feature.
-
Drag and drop
-
The HTML5 drag and drop API allows support for dragging and dropping items within and between web sites. This also provides a simpler API for use by extensions and Mozilla-based applications.
-
Focus management in HTML
-
The new HTML5
activeElement and hasFocus attributes are supported.
-
Web-based protocol handlers
-
You can now register web applications as protocol handlers using the
navigator.registerProtocolHandler() method.
-
requestAnimationFrame
-
Allows to control animations rendering to obtain optimal performance.
-
Fullscreen API
-
Controls the usage of the whole screen for a Web page or application, without the browser UI displayed.
-
Pointer Lock API
-
Allows to lock the pointer to the content, so games and similar application don't lose the focus when the pointer reaches the window limit.
-
Online and offline events
-
In order to build a good offline-capable web application, you need to know when your application is actually offline. Incidentally, you also need to know when your application has returned to an online status again.
Device access
-
Using the Camera API
-
Allows to use, manipulate and store an image from the computer's camera.
-
Touch events
-
Handlers to react to events created by a user pressing touch screens.
-
Using geolocation
-
Let browsers obtaining the position of the user.
-
Detecting device orientation
-
Let get the information when the device on which runs the browser change orientation. This can be used as an input device (e.g. to make games that react to the position of the device) or to adapt the layout of a page to the orientation of the screen (portrait or landscape).
-
Pointer Lock API
-
Allows to lock the pointer to the content, so games and similar application don't lose the focus when the pointer reaches the window limit.
Styling
CSS has been extended to be able to style elements in a much more complex way. This is often referred as CSS3, though CSS is not a monolitic specification anymore and the different modules are not all at level 3: some are at level 1 and some at level 4, with all the intermediate levels covered.
-
New background styling features
-
It is know possible to put a shadow to a box, using
box-shadow and multiple backgrounds can be set.
-
More fancy borders
-
Not only it is now possible to use images to style borders, using
border-image and its associated longhand properties, but rounded borders are supported via the border-radius property.
-
Animating your style
-
Using CSS Transitions to animate between different states or using CSS Animations to animate parts of the page without a trigerring event, you can know control mobile elements on your page.
-
Typography improvement
-
Authors have better control to reach better typography. They can control
text-overflow and hyphenation, but also can a shadow to it or control more precisely its decorations. Custom typeface can be downloaded and applied thanks to the new @font-face at-rule.
-
New presentational layouts
-
In order to improve the flexibility of designs, two new layouts have been added: the CSS multi-column layout, and the CSS flexible box layout.
|