semantically-meaningful (i.e. describe the content they contain)
header
footer
nav
article
hgroup
A general rule is that the section element is appropriate only if the element’s contents would be listed explicitly in the document’s outline
| Tag | Description |
|---|---|
| <!--...--> | 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>New | Defines an article |
| <aside>New | Defines content aside from the page content |
| <audio>New | Defines 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>New | Defines 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>New | Defines a command button |
| <datalist>New | Defines a dropdown list |
| <dd> | Defines a definition description |
| <del> | Defines deleted text |
| <details>New | Defines 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>New | Defines external interactive content or plugin |
| <fieldset> | Defines a fieldset |
| <figcaption>New | Defines the caption of a figure element |
| <figure>New | Defines a group of media content, and their caption |
| <font> | Not supported in HTML5 |
| <footer>New | Defines 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>New | Defines a header for a section or page |
| <hgroup>New | Defines 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>New | Defines 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>New | Defines marked text |
| <menu> | Defines a menu list |
| <meta> | Defines meta information |
| <meter>New | Defines a scalar measurement within a known range |
| <nav>New | Defines 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>New | Defines some types of output |
| <p> | Defines a paragraph |
| <param> | Defines a parameter for an object |
| <pre> | Defines preformatted text |
| <progress>New | Represents the progress of a task |
| <q> | Defines a short quotation |
| <rp>New | Used in ruby annotations to define what to show if a browser does not support the ruby element |
| <rt>New | Defines explanation to ruby annotations |
| <ruby>New | Defines ruby annotations |
| <s> | Defines text that is no longer correct |
| <samp> | Defines sample computer code |
| <script> | Defines a script |
| <section>New | Defines a section |
| <select> | Defines a selectable list |
| <small> | Defines smaller text |
| <source>New | Defines 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>New | Defines 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>New | Defines 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>New | Defines a video |
| <wbr>New | Defines a possible line-break |
| <xmp> | Not supported in HTML5 |
| Attribute | Value | Description |
|---|---|---|
| accesskey | character | Specifies a shortcut key to access an element |
| class | classname | Refers to a class specified in a style sheet |
| contenteditableNew | true false inherit |
Specifies whether a user can edit the content of an element or not |
| contextmenuNew | menu_id | Specifies a context menu for an element. The value must be the id of a <menu> element |
| dir | ltr rtl auto |
Specifies the text direction for the content in an element |
| draggableNew | true false auto |
Specifies whether a user is allowed to drag an element or not |
| dropzoneNew | copy move link |
Specifies what happens when dragged items/data is dropped in the element |
| hiddenNew | hidden | Specifies that an element should be hidden |
| id | id | Specifies a unique id for an element |
| lang | language_code | Specifies the language of the element's content |
| spellcheckNew | true false |
Specifies if the element must have its spelling and grammar checked |
| style | style_definitions | Specifies an inline style for an element |
| tabindex | number | Specifies the tab order of an element |
| title | text | Specifies extra information about an element |
HTML 4 added the ability to let events trigger actions in a browser, like starting a JavaScript when a user clicks on an element.
To learn more about programming events, please visit our JavaScript tutorial and our DHTML tutorial.
Below are the global event attributes that can be added to HTML5 elements to define event actions.
New : New event attributes in HTML5.
Events triggered for the window object (applies to the <body> tag):
| Attribute | Value | Description |
|---|---|---|
| onafterprintNew | script | Script to be run after the document is printed |
| onbeforeprintNew | script | Script to be run before the document is printed |
| onbeforeonloadNew | script | Script to be run before the document loads |
| onblur | script | Script to be run when the window loses focus |
| onerrorNew | script | Script to be run when an error occur |
| onfocus | script | Script to be run when the window gets focus |
| onhaschangeNew | script | Script to be run when the document has changed |
| onload | script | Script to be run when the document loads |
| onmessageNew | script | Script to be run when the message is triggered |
| onofflineNew | script | Script to be run when the document goes offline |
| ononlineNew | script | Script to be run when the document comes online |
| onpagehideNew | script | Script to be run when the window is hidden |
| onpageshowNew | script | Script to be run when the window becomes visible |
| onpopstateNew | script | Script to be run when the window's history changes |
| onredoNew | script | Script to be run when the document performs a redo |
| onresizeNew | script | Script to be run when the window is resized |
| onstorageNew | script | Script to be run when the document loads |
| onundoNew | script | Script to be run when the document performs an undo |
| onunloadNew | script | Script to be run when the user leaves the document |
Events triggered by actions inside a HTML form (applies to all HTML5 elements, but is most common in form elements):
| Attribute | Value | Description |
|---|---|---|
| onblur | script | Script to be run when an element loses focus |
| onchange | script | Script to be run when an element changes |
| oncontextmenuNew | script | Script to be run when a context menu is triggered |
| onfocus | script | Script to be run when an element gets focus |
| onformchangeNew | script | Script to be run when a form changes |
| onforminputNew | script | Script to be run when a form gets user input |
| oninputNew | script | Script to be run when an element gets user input |
| oninvalidNew | script | Script to be run when an element is invalid |
| onreset | script | Script to be run when a form is reset Not supported in HTML5 |
| onselect | script | Script to be run when an element is selected |
| onsubmit | script | Script to be run when a form is submitted |
Events triggered by a keyboard (applies to all HTML5 elements):
| Attribute | Value | Description |
|---|---|---|
| onkeydown | script | Script to be run when a key is pressed down |
| onkeypress | script | Script to be run when a key is pressed and released |
| onkeyup | script | Script to be run when a key is released |
Events triggered by a mouse, or similar user actions (applies to all HTML5 elements):
| Attribute | Value | Description |
|---|---|---|
| onclick | script | Script to be run on a mouse click |
| ondblclick | script | Script to be run on a mouse double-click |
| ondragNew | script | Script to be run when an element is dragged |
| ondragendNew | script | Script to be run at the end of a drag operation |
| ondragenterNew | script | Script to be run when an element has been dragged to a valid drop target |
| ondragleaveNew | script | Script to be run when an element leaves a valid drop target |
| ondragoverNew | script | Script to be run when an element is being dragged over a valid drop target |
| ondragstartNew | script | Script to be run at the start of a drag operation |
| ondropNew | script | Script to be run when dragged element is being dropped |
| onmousedown | script | Script to be run when a mouse button is pressed |
| onmousemove | script | Script to be run when the mouse pointer moves |
| onmouseout | script | Script to be run when the mouse pointer moves out of an element |
| onmouseover | script | Script to be run when the mouse pointer moves over an element |
| onmouseup | script | Script to be run when a mouse button is released |
| onmousewheelNew | script | Script to be run when the mouse wheel is being rotated |
| onscrollNew | script | Script to be run when an element's scrollbar is being scrolled |
Events triggered by medias like videos, images and audio (applies to all HTML5 elements, but is most common in media elements, like audio, embed, img, object, and video):
| Attribute | Value | Description |
|---|---|---|
| onabort | script | Script to be run on abort |
| oncanplayNew | script | Script to be run when a file is ready to start playing (when it has buffered enough to begin) |
| oncanplaythroughNew | script | Script to be run when a file can be played all the way to the end without pausing for buffering |
| ondurationchangeNew | script | Script to be run when the length of the media changes |
| onemptiedNew | script | Script to be run when something bad happens and the file is suddenly unavailable (like unexpectedly disconnects) |
| onendedNew | script | Script to be run when the media has reach the end (a useful event for messages like "thanks for listening") |
| onerrorNew | script | Script to be run when an error occurs when the file is being loaded |
| onloadeddataNew | script | Script to be run when media data is loaded |
| onloadedmetadataNew | script | Script to be run when meta data (like dimensions and duration) are loaded |
| onloadstartNew | script | Script to be run just as the file begins to load before anything is actually loaded |
| onpauseNew | script | Script to be run when the media is paused either by the user or programmatically |
| onplayNew | script | Script to be run when the media is ready to start playing |
| onplayingNew | script | Script to be run when the media actually has started playing |
| onprogressNew | script | Script to be run when the browser is in the process of getting the media data |
| onratechangeNew | script | Script to be run each time the playback rate changes (like when a user switches to a slow motion or fast forward mode) |
| onreadystatechangeNew | script | Script to be run each time the ready state changes (the ready state tracks the state of the media data) |
| onseekedNew | script | Script to be run when the seeking attribute is set to false indicating that seeking has ended |
| onseekingNew | script | Script to be run when the seeking attribute is set to true indicating that seeking is active |
| onstalledNew | script | Script to be run when the browser is unable to fetch the media data for whatever reason |
| onsuspendNew | script | Script to be run when fetching the media data is stopped before it is completely loaded for whatever reason |
| ontimeupdateNew | script | Script to be run when the playing position has changed (like when the user fast forwards to a different point in the media) |
| onvolumechangeNew | script | Script to be run each time the volume is changed which (includes setting the volume to "mute") |
| onwaitingNew | script | Script to be run when the media has paused but is expected to resume (like when the media pauses to buffer more data) |