W3C

HTML 5.1

W3C Working Draft 07 October 2015


Table of Contents

  1. Index
    1. Elements
    2. Element content categories
    3. Attributes
    4. Element Interfaces
    5. All Interfaces
    6. Events
    7. MIME Types

Index

The following sections only cover conforming elements and features.

Elements

This section is non-normative.

List of elements
Element Description Categories Parents† Children Attributes Interface
aHyperlinkflow; phrasing*; interactive; palpablephrasingtransparent*globals; href; target; download; rel; hreflang; typeHTMLAnchorElement
abbrAbbreviationflow; phrasing; palpablephrasingphrasingglobalsHTMLElement
addressContact information for a page or article elementflow; palpableflowflow*globalsHTMLElement
areaHyperlink or dead area on an image mapflow; phrasingphrasing*emptyglobals; alt; coords; shape; href; target; download; rel; hreflang; typeHTMLAreaElement
articleSelf-contained syndicatable or reusable compositionflow; sectioning; palpableflowflowglobalsHTMLElement
asideSidebar for tangentially related contentflow; sectioning; palpableflowflowglobalsHTMLElement
audioAudio playerflow; phrasing; embedded; interactive; palpable*phrasingsource*; track*; transparent*globals; src; crossorigin; preload; autoplay; mediagroup; loop; muted; controlsHTMLAudioElement
bKeywordsflow; phrasing; palpablephrasingphrasingglobalsHTMLElement
baseBase URL and default target browsing context for hyperlinks and formsmetadatahead; templateemptyglobals; href; targetHTMLBaseElement
bdiText directionality isolationflow; phrasing; palpablephrasingphrasingglobalsHTMLElement
bdoText directionality formattingflow; phrasing; palpablephrasingphrasingglobalsHTMLElement
blockquoteA section quoted from another sourceflow; sectioning root; palpableflowflowglobals; citeHTMLQuoteElement
bodyDocument bodysectioning roothtmlflowglobals; onafterprint; onbeforeprint; onbeforeunload; onhashchange; onlanguagechange; onmessage; onoffline; ononline; onpagehide; onpageshow; onpopstate; onstorage; onunloadHTMLBodyElement
brLine break, e.g. in poem or postal addressflow; phrasingphrasingemptyglobalsHTMLBRElement
buttonButton controlflow; phrasing; interactive; listed; labelable; submittable; reassociateable; form-associated; palpablephrasingphrasing*globals; autofocus; disabled; form; formaction; formenctype; formmethod; formnovalidate; formtarget; menu; name; type; valueHTMLButtonElement
canvasScriptable bitmap canvasflow; phrasing; embedded; palpablephrasingtransparentglobals; width; heightHTMLCanvasElement
captionTable captionnonetable; templateflow*globalsHTMLTableCaptionElement
citeTitle of a workflow; phrasing; palpablephrasingphrasingglobalsHTMLElement
codeComputer codeflow; phrasing; palpablephrasingphrasingglobalsHTMLElement
colTable columnnonecolgroup; templateemptyglobals; spanHTMLTableColElement
colgroupGroup of columns in a tablenonetable; templatecol*; template*globals; spanHTMLTableColElement
dataMachine-readable equivalentflow; phrasing; palpablephrasingphrasingglobals; valueHTMLDataElement
datalistContainer for options for combo box controlflow; phrasingphrasingphrasing*; option*; script-supporting elements*globalsHTMLDataListElement
ddContent for corresponding dt element(s)nonedl; templateflowglobalsHTMLElement
delA removal from the documentflow; phrasing*phrasingtransparentglobals; cite; datetimeHTMLModElement
detailsDisclosure control for hiding detailsflow; sectioning root; interactive; palpableflowsummary*; flowglobals; openHTMLDetailsElement
dfnDefining instanceflow; phrasing; palpablephrasingphrasing*globalsHTMLElement
dialogDialog box or windowflow; sectioning rootflowflowglobals; openHTMLDialogElement
divGeneric flow containerflow; palpableflowflowglobalsHTMLDivElement
dlAssociation list consisting of zero or more name-value groupsflow; palpableflowdt*; dd*; script-supporting elementsglobalsHTMLDListElement
dtLegend for corresponding dd element(s)nonedl; templateflow*globalsHTMLElement
emStress emphasisflow; phrasing; palpablephrasingphrasingglobalsHTMLElement
embedPluginflow; phrasing; embedded; interactive; palpablephrasingemptyglobals; src; type; width; height; any*HTMLEmbedElement
fieldsetGroup of form controlsflow; sectioning root; listed; reassociateable; form-associated; palpableflowlegend*; flowglobals; disabled; form; nameHTMLFieldSetElement
figcaptionCaption for figurenonefigure; templateflowglobalsHTMLElement
figureFigure with optional captionflow; sectioning root; palpableflowfigcaption*; flowglobalsHTMLElement
footerFooter for a page or sectionflow; palpableflowflow*globalsHTMLElement
formUser-submittable formflow; palpableflowflow*globals; accept-charset; action; autocomplete; enctype; method; name; novalidate; targetHTMLFormElement
h1, h2, h3, h4, h5, h6Section headingflow; heading; palpableflowphrasingglobalsHTMLHeadingElement
headContainer for document metadatanonehtmlmetadata content*globalsHTMLHeadElement
headerIntroductory or navigational aids for a page or sectionflow; palpableflowflow*globalsHTMLElement
hrThematic breakflowflowemptyglobalsHTMLHRElement
htmlRoot elementnonenone*head*; body*globals; manifestHTMLHtmlElement
iAlternate voiceflow; phrasing; palpablephrasingphrasingglobalsHTMLElement
iframeNested browsing contextflow; phrasing; embedded; interactive; palpablephrasingtext*globals; src; srcdoc; name; sandbox; seamless; allowfullscreen; width; heightHTMLIFrameElement
imgImageflow; phrasing; embedded; interactive*; form-associated; palpablephrasingemptyglobals; alt; src; srcset; crossorigin; usemap; ismap; width; heightHTMLImageElement
inputForm controlflow; phrasing; interactive*; listed; labelable; submittable; resettable; reassociateable; form-associated; palpable*phrasingemptyglobals; accept; alt; autocomplete; autofocus; checked; dirname; disabled; form; formaction; formenctype; formmethod; formnovalidate; formtarget; height; inputmode; list; max; maxlength; min; minlength; multiple; name; pattern; placeholder; readonly; required; size; src; step; type; value; widthHTMLInputElement
insAn addition to the documentflow; phrasing*; palpablephrasingtransparentglobals; cite; datetimeHTMLModElement
kbdUser inputflow; phrasing; palpablephrasingphrasingglobalsHTMLElement
keygenCryptographic key-pair generator form controlflow; phrasing; interactive; listed; labelable; submittable; resettable; reassociateable; form-associated; palpablephrasingemptyglobals; autofocus; challenge; disabled; form; keytype; nameHTMLKeygenElement
labelCaption for a form controlflow; phrasing; interactive; reassociateable; form-associated; palpablephrasingphrasing*globals; form; forHTMLLabelElement
legendCaption for fieldsetnonefieldset; templatephrasingglobalsHTMLLegendElement
liList itemnoneol; ul; menu*; templateflowglobals; value*HTMLLIElement
linkLink metadatametadata; flow*; phrasing*head; template; noscript*; phrasing*emptyglobals; href; crossorigin; rel; media; hreflang; type; sizesHTMLLinkElement
mainContainer for the dominant contents of another elementflow; palpableflowflowglobalsHTMLElement
mapImage mapflow; phrasing*; palpablephrasingtransparent; area*globals; nameHTMLMapElement
markHighlightflow; phrasing; palpablephrasingphrasingglobalsHTMLElement
mathMathML rootflow; phrasing; embedded; palpablephrasingper [MATHML]per [MATHML]Element
menuMenu of commandsflow; palpable*flow; menu*li*; flow*; menuitem*; hr*; menu*; script-supporting elements*globals; type; labelHTMLMenuElement
menuitemMenu commandnonemenu; templateemptyglobals; type; label; icon; disabled; checked; radiogroup; default; commandHTMLMenuItemElement
metaText metadatametadata; flow*; phrasing*head; template; noscript*; phrasing*emptyglobals; name; http-equiv; content; charsetHTMLMetaElement
meterGaugeflow; phrasing; labelable; palpablephrasingphrasing*globals; value; min; max; low; high; optimumHTMLMeterElement
navSection with navigational linksflow; sectioning; palpableflowflowglobalsHTMLElement
noscriptFallback content for scriptmetadata; flow; phrasinghead*; template*; phrasing*varies*globalsHTMLElement
objectImage, nested browsing context, or pluginflow; phrasing; embedded; interactive*; listed; submittable; reassociateable; form-associated; palpablephrasingparam*; transparentglobals; data; type; typemustmatch; name; usemap; form; width; heightHTMLObjectElement
olOrdered listflow; palpable*flowli; script-supporting elementsglobals; reversed; start; typeHTMLOListElement
optgroupGroup of options in a list boxnoneselect; templateoption; script-supporting elementsglobals; disabled; labelHTMLOptGroupElement
optionOption in a list box or combo box controlnoneselect; datalist; optgroup; templatetext*globals; disabled; label; selected; valueHTMLOptionElement
outputCalculated output valueflow; phrasing; listed; labelable; resettable; reassociateable; form-associated; palpablephrasingphrasingglobals; for; form; nameHTMLOutputElement
pParagraphflow; palpableflowphrasingglobalsHTMLParagraphElement
paramParameter for objectnoneobject; templateemptyglobals; name; valueHTMLParamElement
preBlock of preformatted textflow; palpableflowphrasingglobalsHTMLPreElement
progressProgress barflow; phrasing; labelable; palpablephrasingphrasing*globals; value; maxHTMLProgressElement
qQuotationflow; phrasing; palpablephrasingphrasingglobals; citeHTMLQuoteElement
rbRuby basenone ruby; template phrasing globals HTMLElement
rpParenthesis for ruby annotation textnoneruby; rtc; templatephrasingglobalsHTMLElement
rtRuby annotation textnoneruby; rtc; templatephrasingglobalsHTMLElement
rtcRuby annotation text container noneruby; template phrasing globals HTMLElement
rubyRuby annotation(s)flow; phrasing; palpablephrasingphrasing; rt; rp; rtc; rb*globalsHTMLElement
sInaccurate textflow; phrasing; palpablephrasingphrasingglobalsHTMLElement
sampComputer outputflow; phrasing; palpablephrasingphrasingglobalsHTMLElement
scriptEmbedded scriptmetadata; flow; phrasing; script-supportinghead; phrasing; script-supportingscript, data, or script documentation*globals; src; type; charset; async; defer; crossorigin; nonceHTMLScriptElement
sectionGeneric document or application sectionflow; sectioning; palpableflowflowglobalsHTMLElement
selectList box controlflow; phrasing; interactive; listed; labelable; submittable; resettable; reassociateable; form-associated; palpablephrasingoption; optgroup; script-supporting elementsglobals; autocomplete; autofocus; disabled; form; multiple; name; required; sizeHTMLSelectElement
smallSide commentflow; phrasing; palpablephrasingphrasingglobalsHTMLElement
sourceMedia source for video or audiononevideo; audio; templateemptyglobals; src; typeHTMLSourceElement
spanGeneric phrasing containerflow; phrasing; palpablephrasingphrasingglobalsHTMLSpanElement
strongImportanceflow; phrasing; palpablephrasingphrasingglobalsHTMLElement
styleEmbedded styling informationmetadata; flow*head; noscript*; flow*varies*globals; media; nonce; type; scopedHTMLStyleElement
subSubscriptflow; phrasing; palpablephrasingphrasingglobalsHTMLElement
summaryCaption for detailsnonedetailsphrasingglobalsHTMLElement
supSuperscriptflow; phrasing; palpablephrasingphrasingglobalsHTMLElement
svgSVG rootflow; phrasing; embedded; palpablephrasingper [SVG]per [SVG]SVGSVGElement
tableTableflow; palpableflowcaption*; colgroup*; thead*; tbody*; tfoot*; tr*; script-supporting elementsglobals; sortable; borderHTMLTableElement
tbodyGroup of rows in a tablenonetable; templatetr; script-supporting elementsglobalsHTMLTableSectionElement
tdTable cellsectioning roottr; templateflowglobals; colspan; rowspan; headersHTMLTableDataCellElement
templateTemplatemetadata; flow; phrasing; script-supportingmetadata; phrasing; script-supporting; colgroup*it's complicated*globalsHTMLTemplateElement
textareaMultiline text fieldflow; phrasing; interactive; listed; labelable; submittable; resettable; reassociateable; form-associated; palpablephrasingtextglobals; autofocus; cols; dirname; disabled; form; inputmode; maxlength; minlength; name; placeholder; readonly; required; rows; wrapHTMLTextAreaElement
tfootGroup of footer rows in a tablenonetable; templatetr; script-supporting elementsglobalsHTMLTableSectionElement
thTable header cellinteractive*tr; templateflow*globals; colspan; rowspan; headers; scope; sorted; abbrHTMLTableHeaderCellElement
theadGroup of heading rows in a tablenonetable; templatetr; script-supporting elementsglobalsHTMLTableSectionElement
timeMachine-readable equivalent of date- or time-related dataflow; phrasing; palpablephrasingphrasingglobals; datetimeHTMLTimeElement
titleDocument titlemetadatahead; templatetext*globalsHTMLTitleElement
trTable rownonetable; thead; tbody; tfoot; templateth*; td; script-supporting elementsglobalsHTMLTableRowElement
trackTimed text tracknoneaudio; video; templateemptyglobals; default; kind; label; src; srclangHTMLTrackElement
uKeywordsflow; phrasing; palpablephrasingphrasingglobalsHTMLElement
ulListflow; palpable*flowli; script-supporting elementsglobalsHTMLUListElement
varVariableflow; phrasing; palpablephrasingphrasingglobalsHTMLElement
videoVideo playerflow; phrasing; embedded; interactive; palpablephrasingsource*; track*; transparent*globals; src; crossorigin; poster; preload; autoplay; mediagroup; loop; muted; controls; width; heightHTMLVideoElement
wbrLine breaking opportunityflow; phrasingphrasingemptyglobalsHTMLElement

An asterisk (*) in a cell indicates that the actual rules are more complicated than indicated in the table above.

† Categories in the "Parents" column refer to parents that list the given categories in their content model, not to elements that themselves are in those categories. For example, the a element's "Parents" column says "phrasing", so any element whose content model contains the "phrasing" category could be a parent of an a element. Since the "flow" category includes all the "phrasing" elements, that means the th element could be a parent to an a element.

Element content categories

This section is non-normative.

List of element content categories
Category Elements Elements with exceptions
Metadata content base; link; meta; noscript; script; style; template; title
Flow content a; hr; i; iframe; img; input; ins; kbd; keygen; label; main; map; mark; math; menu; meter; nav; noscript; object; ol; output; p; picture; pre; progress; q; ruby; s; samp; script; section; select; small; span; strong; sub; sup; svg; table; template; textarea; time; u; ul; var; video; wbr; Text area (if it is a descendant of a map element); link (if the itemprop attribute is present); meta (if the itemprop attribute is present); style (if the scoped attribute is present)
Sectioning content article; aside; nav; section
Heading content h1
Phrasing content a; abbr; audio; b; bdi; bdo; br; button; canvas; cite; code; data; datalist; del; dfn; em; embed; i; iframe; img; input; ins; kbd; keygen; label; map; mark; math; meter; noscript; object; output; picture; progress; q; ruby; s; samp; script; select; small; span; strong; sub; sup; svg; template; textarea; time; u; var; video; wbr; Text area (if it is a descendant of a map element); link (if the itemprop attribute is present); meta (if the itemprop attribute is present)
Embedded content audio; canvas; embed; iframe; img; math; object; picture; svg; video
Interactive content* a; button; details; embed; iframe; keygen; label; select; textarea audio (if the controls attribute is present); img (if the usemap attribute is present); input (if the type attribute is not in the Hidden state); object (if the usemap attribute is present); th (for sorting interface th elements) video (if the controls attribute is present)
Sectioning roots blockquote; body; details; dialog; fieldset; figure; td
Form-associated elements button; fieldset; input; keygen; label; object; output; select; textarea; img
Listed elements button; fieldset; input; keygen; object; output; select; textarea
Submittable elements button; input; keygen; object; select; textarea
Resettable elements input; keygen; output; select; textarea
Labelable elements button; input; keygen; meter; output; progress; select; textarea
Reassociateable elements button; fieldset; input; keygen; label; object; output; select; textarea
Palpable content a; i; iframe; img; ins; kbd; keygen; label; main; map; mark; math; meter; nav; object; output; p; pre; progress; q; ruby; s; samp; section; select; small; span; strong; sub; sup; svg; table; textarea; time; u; var; video audio (if the controls attribute is present); dl (if the element's children include at least one name-value group); input (if the type attribute is not in the Hidden state); menu (if the type attribute is in the toolbar state); ol (if the element's children include at least one li element); ul (if the element's children include at least one li element); Text that is not inter-element whitespace
Script-supporting elements script; template

* The tabindex attribute can also make any element into interactive content.

Attributes

This section is non-normative.

List of attributes (excluding event handler content attributes)
Attribute Element(s) Description Value
abbr th Alternative label to use for the header cell when referencing the cell in other contexts Text*
accept input Hint for expected file type in file upload controls Set of comma-separated tokens* consisting of valid MIME types with no parameters or audio/*, video/*, or image/*
accept-charset form Character encodings to use for form submission Ordered set of unique space-separated tokens, ASCII case-insensitive, consisting of labels of ASCII-compatible encodings*
accesskey HTML elements Keyboard shortcut to activate or focus element Ordered set of unique space-separated tokens, case-sensitive, consisting of one Unicode code point in length
action form URL to use for form submission Valid non-empty URL potentially surrounded by spaces
allowfullscreen iframe Whether to allow the iframe's contents to use requestFullscreen() Boolean attribute
alt area; img; input Replacement text for use when images are not available Text*
async script Execute script when available, without blocking Boolean attribute
autocomplete form Default setting for autofill feature for controls in the form "on"; "off"
autocomplete input; select; textarea Hint for form autofill feature Autofill field name and related tokens*
autofocus button; input; keygen; select; textarea Automatically focus the form control when the page is loaded Boolean attribute
autoplay audio; video Hint that the media resource can be started automatically when the page is loaded Boolean attribute
challenge keygen String to package with the generated and signed public key Text
charset meta Character encoding declaration Encoding label*
charset script Character encoding of the external script resource Encoding label*
checked menuitem; input Whether the command or control is checked Boolean attribute
cite blockquote; del; ins; q Link to the source of the quotation or more information about the edit Valid URL potentially surrounded by spaces
class HTML elements Classes to which the element belongs Set of space-separated tokens
cols textarea Maximum number of characters per line Valid non-negative integer greater than zero
colspan td; th Number of columns that the cell is to span Valid non-negative integer greater than zero
command menuitem Command definition ID*
content meta Value of the element Text*
contenteditable HTML elements Whether the element is editable "true"; "false"
contextmenu HTML elements The element's context menu ID*
controls audio; video Show user agent controls Boolean attribute
coords area Coordinates for the shape to be created in an image map Valid list of integers*
crossorigin audio; img; link; script; video How the element handles crossorigin requests "anonymous"; "use-credentials"
data object Address of the resource Valid non-empty URL potentially surrounded by spaces
datetime del; ins Date and (optionally) time of the change Valid date string with optional time
datetime time Machine-readable value Valid month string, valid date string, valid yearless date string, valid time string, valid local date and time string, valid time-zone offset string, valid global date and time string, valid week string, valid non-negative integer, or valid duration string
default menuitem Mark the command as being a default command Boolean attribute
default track Enable the track if no other text track is more suitable Boolean attribute
defer script Defer script execution Boolean attribute
dir HTML elements The text directionality of the element "ltr"; "rtl"; "auto"
dir bdo The text directionality of the element "ltr"; "rtl"
dirname input; textarea Name of form field to use for sending the element's directionality in form submission Text*
disabled button; menuitem; fieldset; input; keygen; optgroup; option; select; textarea Whether the form control is disabled Boolean attribute
download a; area Whether to download the resource instead of navigating to it, and its file name if so Text
draggable HTML elements Whether the element is draggable "true"; "false"
dropzone HTML elements Accepted item types for drag-and-drop Unordered set of unique space-separated tokens, ASCII case-insensitive, consisting of accepted types and drag feedback*
enctype form Form data set encoding type to use for form submission "application/x-www-form-urlencoded"; "multipart/form-data"; "text/plain"
for label Associate the label with form control ID*
for output Specifies controls from which the output was calculated Unordered set of unique space-separated tokens, case-sensitive, consisting of IDs*
form button; fieldset; input; keygen; label; object; output; select; textarea Associates the control with a form element ID*
formaction button; input URL to use for form submission Valid non-empty URL potentially surrounded by spaces
formenctype button; input Form data set encoding type to use for form submission "application/x-www-form-urlencoded"; "multipart/form-data"; "text/plain"
formmethod button; input HTTP method to use for form submission "GET"; "POST"
formnovalidate button; input Bypass form control validation for form submission Boolean attribute
formtarget button; input Browsing context for form submission Valid browsing context name or keyword
headers td; th The header cells for this cell Unordered set of unique space-separated tokens, case-sensitive, consisting of IDs*
height canvas; embed; iframe; img; input; object; video Vertical dimension Valid non-negative integer
hidden HTML elements Whether the element is relevant Boolean attribute
high meter Low limit of high range Valid floating-point number*
href a; area Address of the hyperlink Valid URL potentially surrounded by spaces
href link Address of the hyperlink Valid non-empty URL potentially surrounded by spaces
href base Document base URL Valid URL potentially surrounded by spaces
hreflang a; area; link Language of the linked resource Valid BCP 47 language tag
http-equiv meta Pragma directive Text*
icon menuitem Icon for the command Valid non-empty URL potentially surrounded by spaces
id HTML elements The element's ID Text*
inputmode input; textarea Hint for selecting an input modality "verbatim"; "latin"; "latin-name"; "latin-prose"; "full-width-latin"; "kana"; "kana-name"; "katakana"; "numeric"; "tel"; "email"; "url"
ismap img Whether the image is a server-side image map Boolean attribute
itemid HTML elements Global identifier for a microdata item Valid URL potentially surrounded by spaces
itemprop HTML elements Property names of a microdata item Unordered set of unique space-separated tokens, case-sensitive, consisting of valid absolute URLs, defined property names, or text*
itemref HTML elements Referenced elements Unordered set of unique space-separated tokens, case-sensitive, consisting of IDs*
itemscope HTML elements Introduces a microdata item Boolean attribute
itemtype HTML elements Item types of a microdata item Unordered set of unique space-separated tokens, case-sensitive, consisting of valid absolute URL*
keytype keygen The type of cryptographic key to generate Text*
kind track The type of text track "subtitles"; "captions"; "descriptions"; "chapters"; "metadata"
label menuitem; menu; optgroup; option; track User-visible label Text
lang HTML elements Language of the element Valid BCP 47 language tag or the empty string
list input List of autocomplete options ID*
loop audio; video Whether to loop the media resource Boolean attribute
low meter High limit of low range Valid floating-point number*
manifest html Application cache manifest Valid non-empty URL potentially surrounded by spaces
max input Maximum value Varies*
max meter; progress Upper bound of range Valid floating-point number*
maxlength input; textarea Maximum length of value Valid non-negative integer
media link; style Applicable media Valid media query list
mediagroup audio; video Groups media elements together with an implicit MediaController Text
menu button Specifies the element's designated pop-up menu ID*
method form HTTP method to use for form submission "GET"; "POST"; "dialog"
min input Minimum value Varies*
min meter Lower bound of range Valid floating-point number*
minlength input; textarea Minimum length of value Valid non-negative integer
multiple input; select Whether to allow multiple values Boolean attribute
muted audio; video Whether to mute the media resource by default Boolean attribute
name button; fieldset; input; keygen; output; select; textarea Name of form control to use for form submission and in the form.elements API Text*
name form Name of form to use in the document.forms API Text*
name iframe; object Name of nested browsing context Valid browsing context name or keyword
name map Name of image map to reference from the usemap attribute Text*
name meta Metadata name Text*
name param Name of parameter Text
nonce script; style Cryptographic nonce used in Content Security Policy checks [CSP] Text
novalidate form Bypass form control validation for form submission Boolean attribute
open details Whether the details are visible Boolean attribute
open dialog Whether the dialog box is showing Boolean attribute
optimum meter Optimum value in gauge Valid floating-point number*
pattern input Pattern to be matched by the form control's value Regular expression matching the JavaScript Pattern production
placeholder input; textarea User-visible label to be placed within the form control Text*
poster video Poster frame to show prior to video playback Valid non-empty URL potentially surrounded by spaces
preload audio; video Hints how much buffering the media resource will likely need "none"; "metadata"; "auto"
radiogroup menuitem Name of group of commands to treat as a radio button group Text
readonly input; textarea Whether to allow the value to be edited by the user Boolean attribute
rel a; area; link Relationship between the document containing the hyperlink and the destination resource Set of space-separated tokens*
required input; select; textarea Whether the control is required for form submission Boolean attribute
reversed ol Number the list backwards Boolean attribute
rows textarea Number of lines to show Valid non-negative integer greater than zero
rowspan td; th Number of rows that the cell is to span Valid non-negative integer
sandbox iframe Security rules for nested content Unordered set of unique space-separated tokens, ASCII case-insensitive, consisting of "allow-forms", "allow-modals", "allow-pointer-lock", "allow-popups", "allow-popups-to-escape-sandbox", "allow-same-origin", "allow-scripts and "allow-top-navigation"
spellcheck HTML elements Whether the element is to have its spelling and grammar checked "true"; "false"
scope th Specifies which cells the header cell applies to "row"; "col"; "rowgroup"; "colgroup"
scoped style Whether the styles apply to the entire document or just the parent subtree Boolean attribute
seamless iframe Whether to apply the document's styles to the nested content Boolean attribute
selected option Whether the option is selected by default Boolean attribute
shape area The kind of shape to be created in an image map "circle"; "default"; "poly"; "rect"
size input; select Size of the control Valid non-negative integer greater than zero
sizes link Sizes of the icons (for rel="icon") Unordered set of unique space-separated tokens, ASCII case-insensitive, consisting of sizes*
sortable table Enables a sorting interface for the table Boolean attribute
sorted th Column sort direction and ordinality Set of space-separated tokens, ASCII case-insensitive, consisting of neither, one, or both of "reversed" and a valid non-negative integer greater than zero
span col; colgroup Number of columns spanned by the element Valid non-negative integer greater than zero
src audio; embed; iframe; img; input; script; source; track; video Address of the resource Valid non-empty URL potentially surrounded by spaces
srcdoc iframe A document to render in the iframe The source of an iframe srcdoc document*
srclang track Language of the text track Valid BCP 47 language tag
srcset img Images to use in different situations (e.g. high-resolution displays, small monitors, etc) Comma-separated list of image candidate strings
start ol Ordinal value of the first item Valid integer
step input Granularity to be matched by the form control's value Valid floating-point number greater than zero, or "any"
style HTML elements Presentational and formatting instructions CSS declarations*
tabindex HTML elements Whether the element is focusable, and the relative order of the element for the purposes of sequential focus navigation Valid integer
target a; area Browsing context for hyperlink navigation Valid browsing context name or keyword
target base Default browsing context for hyperlink navigation and form submission Valid browsing context name or keyword
target form Browsing context for form submission Valid browsing context name or keyword
title HTML elements Advisory information for the element Text
title abbr; dfn Full term or expansion of abbreviation Text
title input Description of pattern (when used with pattern attribute) Text
title menuitem Hint describing the command Text
title link Title of the link Text
title link; style Alternative style sheet set name Text
translate HTML elements Whether the element is to be translated when the page is localized "yes"; "no"
type a; area; link Hint for the type of the referenced resource Valid MIME type
type button Type of button "submit"; "reset"; "button"; "menu"
type embed; object; script; source; style Type of embedded resource Valid MIME type
type input Type of form control input type keyword
type menu Type of menu "popup"; "toolbar"
type menuitem Type of command "command"; "checkbox"; "radio"
type ol Kind of list marker "1"; "a"; "A"; "i"; "I"
typemustmatch object Whether the type attribute and the Content-Type value need to match for the resource to be used Boolean attribute
usemap img; object Name of image map to use Valid hash-name reference*
value button; option Value to be used for form submission Text
value data Machine-readable value Text*
value input Value of the form control Varies*
value li Ordinal value of the list item Valid integer
value meter; progress Current value of the element Valid floating-point number
value param Value of parameter Text
width canvas; embed; iframe; img; input; object; video Horizontal dimension Valid non-negative integer
wrap textarea How the value of the form control is to be wrapped for form submission "soft"; "hard"

An asterisk (*) in a cell indicates that the actual rules are more complicated than indicated in the table above.


List of event handler content attributes
Attribute Element(s) Description Value
onabort HTML elements abort event handler Event handler content attribute
onautocomplete HTML elements autocomplete event handler Event handler content attribute
onautocompleteerror HTML elements autocompleteerror event handler Event handler content attribute
onafterprint body afterprint event handler for Window object Event handler content attribute
onbeforeprint body beforeprint event handler for Window object Event handler content attribute
onbeforeunload body beforeunload event handler for Window object Event handler content attribute
onblur HTML elements blur event handler Event handler content attribute
oncancel HTML elements cancel event handler Event handler content attribute
oncanplay HTML elements canplay event handler Event handler content attribute
oncanplaythrough HTML elements canplaythrough event handler Event handler content attribute
onchange HTML elements change event handler Event handler content attribute
onclick HTML elements click event handler Event handler content attribute
onclose HTML elements close event handler Event handler content attribute
oncontextmenu HTML elements contextmenu event handler Event handler content attribute
oncuechange HTML elements cuechange event handler Event handler content attribute
ondblclick HTML elements dblclick event handler Event handler content attribute
ondrag HTML elements drag event handler Event handler content attribute
ondragend HTML elements dragend event handler Event handler content attribute
ondragenter HTML elements dragenter event handler Event handler content attribute
ondragexit HTML elements dragexit event handler Event handler content attribute
ondragleave HTML elements dragleave event handler Event handler content attribute
ondragover HTML elements dragover event handler Event handler content attribute
ondragstart HTML elements dragstart event handler Event handler content attribute
ondrop HTML elements drop event handler Event handler content attribute
ondurationchange HTML elements durationchange event handler Event handler content attribute
onemptied HTML elements emptied event handler Event handler content attribute
onended HTML elements ended event handler Event handler content attribute
onerror HTML elements error event handler Event handler content attribute
onfocus HTML elements focus event handler Event handler content attribute
onhashchange body hashchange event handler for Window object Event handler content attribute
oninput HTML elements input event handler Event handler content attribute
oninvalid HTML elements invalid event handler Event handler content attribute
onkeydown HTML elements keydown event handler Event handler content attribute
onkeypress HTML elements keypress event handler Event handler content attribute
onkeyup HTML elements keyup event handler Event handler content attribute
onlanguagechange body languagechange event handler for Window object Event handler content attribute
onload HTML elements load event handler Event handler content attribute
onloadeddata HTML elements loadeddata event handler Event handler content attribute
onloadedmetadata HTML elements loadedmetadata event handler Event handler content attribute
onloadstart HTML elements loadstart event handler Event handler content attribute
onmessage body message event handler for Window object Event handler content attribute
onmousedown HTML elements mousedown event handler Event handler content attribute
onmouseenter HTML elements mouseenter event handler Event handler content attribute
onmouseleave HTML elements mouseleave event handler Event handler content attribute
onmousemove HTML elements mousemove event handler Event handler content attribute
onmouseout HTML elements mouseout event handler Event handler content attribute
onmouseover HTML elements mouseover event handler Event handler content attribute
onmouseup HTML elements mouseup event handler Event handler content attribute
onwheel HTML elements wheel event handler Event handler content attribute
onoffline body offline event handler for Window object Event handler content attribute
ononline body online event handler for Window object Event handler content attribute
onpagehide body pagehide event handler for Window object Event handler content attribute
onpageshow body pageshow event handler for Window object Event handler content attribute
onpause HTML elements pause event handler Event handler content attribute
onplay HTML elements play event handler Event handler content attribute
onplaying HTML elements playing event handler Event handler content attribute
onpopstate body popstate event handler for Window object Event handler content attribute
onprogress HTML elements progress event handler Event handler content attribute
onratechange HTML elements ratechange event handler Event handler content attribute
onreset HTML elements reset event handler Event handler content attribute
onresize HTML elements resize event handler Event handler content attribute
onscroll HTML elements scroll event handler Event handler content attribute
onseeked HTML elements seeked event handler Event handler content attribute
onseeking HTML elements seeking event handler Event handler content attribute
onselect HTML elements select event handler Event handler content attribute
onshow HTML elements show event handler Event handler content attribute
onsort HTML elements sort event handler Event handler content attribute
onstalled HTML elements stalled event handler Event handler content attribute
onstorage body storage event handler for Window object Event handler content attribute
onsubmit HTML elements submit event handler Event handler content attribute
onsuspend HTML elements suspend event handler Event handler content attribute
ontimeupdate HTML elements timeupdate event handler Event handler content attribute
ontoggle HTML elements toggle event handler Event handler content attribute
onunload body unload event handler for Window object Event handler content attribute
onvolumechange HTML elements volumechange event handler Event handler content attribute
onwaiting HTML elements waiting event handler Event handler content attribute

Element Interfaces

This section is non-normative.

List of interfaces for elements
Element(s) Interface(s)
a HTMLAnchorElement : HTMLElement
abbr HTMLElement
address HTMLElement
area HTMLAreaElement : HTMLElement
article HTMLElement
aside HTMLElement
audio HTMLAudioElement : HTMLMediaElement : HTMLElement
b HTMLElement
base HTMLBaseElement : HTMLElement
bdi HTMLElement
bdo HTMLElement
blockquote HTMLQuoteElement : HTMLElement
body HTMLBodyElement : HTMLElement
br HTMLBRElement : HTMLElement
button HTMLButtonElement : HTMLElement
canvas HTMLCanvasElement : HTMLElement
caption HTMLTableCaptionElement : HTMLElement
cite HTMLElement
code HTMLElement
col HTMLTableColElement : HTMLElement
colgroup HTMLTableColElement : HTMLElement
menuitem HTMLMenuItemElement : HTMLElement
data HTMLDataElement : HTMLElement
datalist HTMLDataListElement : HTMLElement
dd HTMLElement
del HTMLModElement : HTMLElement
details HTMLDetailsElement : HTMLElement
dfn HTMLElement
dialog HTMLDialogElement : HTMLElement
div HTMLDivElement : HTMLElement
dl HTMLDListElement : HTMLElement
dt HTMLElement
em HTMLElement
embed HTMLEmbedElement : HTMLElement
fieldset HTMLFieldSetElement : HTMLElement
figcaption HTMLElement
figure HTMLElement
footer HTMLElement
form HTMLFormElement : HTMLElement
h1 HTMLHeadingElement : HTMLElement
h2 HTMLHeadingElement : HTMLElement
h3 HTMLHeadingElement : HTMLElement
h4 HTMLHeadingElement : HTMLElement
h5 HTMLHeadingElement : HTMLElement
h6 HTMLHeadingElement : HTMLElement
head HTMLHeadElement : HTMLElement
header HTMLElement
hr HTMLHRElement : HTMLElement
html HTMLHtmlElement : HTMLElement
i HTMLElement
iframe HTMLIFrameElement : HTMLElement
img HTMLImageElement : HTMLElement
input HTMLInputElement : HTMLElement
ins HTMLModElement : HTMLElement
kbd HTMLElement
keygen HTMLKeygenElement : HTMLElement
label HTMLLabelElement : HTMLElement
legend HTMLLegendElement : HTMLElement
li HTMLLIElement : HTMLElement
link HTMLLinkElement : HTMLElement
main HTMLElement
map HTMLMapElement : HTMLElement
mark HTMLElement
menu HTMLMenuElement : HTMLElement
meta HTMLMetaElement : HTMLElement
meter HTMLMeterElement : HTMLElement
nav HTMLElement
noscript HTMLElement
object HTMLObjectElement : HTMLElement
ol HTMLOListElement : HTMLElement
optgroup HTMLOptGroupElement : HTMLElement
option HTMLOptionElement : HTMLElement
output HTMLOutputElement : HTMLElement
p HTMLParagraphElement : HTMLElement
param HTMLParamElement : HTMLElement
pre HTMLPreElement : HTMLElement
progress HTMLProgressElement : HTMLElement
q HTMLQuoteElement : HTMLElement
rb HTMLElement
rp HTMLElement
rt HTMLElement
rtc HTMLElement
ruby HTMLElement
s HTMLElement
samp HTMLElement
script HTMLScriptElement : HTMLElement
section HTMLElement
select HTMLSelectElement : HTMLElement
small HTMLElement
source HTMLSourceElement : HTMLElement
span HTMLSpanElement : HTMLElement
strong HTMLElement
style HTMLStyleElement : HTMLElement
sub HTMLElement
summary HTMLElement
sup HTMLElement
table HTMLTableElement : HTMLElement
tbody HTMLTableSectionElement : HTMLElement
td HTMLTableDataCellElement : HTMLTableCellElement : HTMLElement
template HTMLTemplateElement : HTMLElement
textarea HTMLTextAreaElement : HTMLElement
tfoot HTMLTableSectionElement : HTMLElement
th HTMLTableHeaderCellElement : HTMLTableCellElement : HTMLElement
thead HTMLTableSectionElement : HTMLElement
time HTMLTimeElement : HTMLElement
title HTMLTitleElement : HTMLElement
tr HTMLTableRowElement : HTMLElement
track HTMLTrackElement : HTMLElement
u HTMLElement
ul HTMLUListElement : HTMLElement
var HTMLElement
video HTMLVideoElement : HTMLMediaElement : HTMLElement
wbr HTMLElement

All Interfaces

This section is non-normative.

Events

This section is non-normative.

List of events
Event Interface Interesting targets Description
abort Event Window Fired at the Window when the download was aborted by the user
autocomplete Event form elements Fired at a form element when it is autofilled
autocompleteerror Event form elements Fired at a form element when a bulk autofill fails
DOMContentLoaded Event Document Fired at the Document once the parser has finished
afterprint Event Window Fired at the Window after printing
afterscriptexecute Event script elements Fired at script elements after the script runs (just before the corresponding load event)
beforeprint Event Window Fired at the Window before printing
beforescriptexecute Event script elements Fired at script elements just before the script runs; canceling the event cancels the running of the script
beforeunload BeforeUnloadEvent Window Fired at the Window when the page is about to be unloaded, in case the page would like to show a warning prompt
blur Event Window, elements Fired at nodes when they stop being focused
cancel Event dialog elements Fired at dialog elements when they are canceled by the user (e.g. by pressing the Escape key)
change Event Form controls Fired at controls when the user commits a value change (see also the change event of input elements)
click MouseEvent Elements Normally a mouse event; also synthetically fired at an element before its activation behaviour is run, when an element is activated from a non-pointer input device (e.g. a keyboard)
close Event dialog elements, WebSocket Fired at dialog elements when they are closed, and at WebSocket elements when the connection is terminated
connect MessageEvent SharedWorkerGlobalScope Fired at a shared worker's global scope when a new client connects
contextmenu Event Elements Fired at elements when the user requests their context menu
error Event Global scope objects, Worker objects, elements, networking-related objects Fired when unexpected errors occur (e.g. networking errors, script errors, decoding errors)
focus Event Window, elements Fired at nodes gaining focus
hashchange HashChangeEvent Window Fired at the Window when the fragment identifier part of the document's address changes
input Event Form controls Fired at controls when the user changes the value (see also the change event of input elements)
invalid Event Form controls Fired at controls during form validation if they do not satisfy their constraints
languagechange Event Global scope objects Fired at the global scope object when the user's preferred languages change
load Event Window, elements Fired at the Window when the document has finished loading; fired at an element containing a resource (e.g. img, embed) when its resource has finished loading
loadend Event or ProgressEvent img elements Fired at img elements after a successful load
loadstart ProgressEvent img elements Fired at img elements when a load begins (see also media element events)
message MessageEvent Window, EventSource, WebSocket, MessagePort, BroadcastChannel, DedicatedWorkerGlobalScope, Worker Fired at an object when it receives a message
offline Event Global scope objects Fired at the global scope object when the network connections fails
online Event Global scope objects Fired at the global scope object when the network connections returns
open Event EventSource, WebSocket Fired at networking-related objects when a connection is established
pagehide PageTransitionEvent Window Fired at the Window when the page's entry in the session history stops being the current entry
pageshow PageTransitionEvent Window Fired at the Window when the page's entry in the session history becomes the current entry
popstate PopStateEvent Window Fired at the Window when the user navigates the session history
progress ProgressEvent img elements Fired at img elements during a CORS-same-origin image load (see also media element events)
readystatechange Event Document Fired at the Document when it finishes parsing and again when all its subresources have finished loading
reset Event form elements Fired at a form element when it is reset
select Event Form controls Fired at form controls when their text selection is adjusted (whether by an API or by the user)
show RelatedEvent menu elements Fired at a menu element when it is shown as a context menu
sort Event table elements Fired at table elements before it is sorted; canceling the event cancels the sorting of the table
storage StorageEvent Window Fired at Window event when the corresponding localStorage or sessionStorage storage areas change
submit Event form elements Fired at a form element when it is submitted
toggle Event details element Fired at details elements when they open or close
unload Event Window Fired at the Window object when the page is going away

See also media element events, application cache events, and drag-and-drop events.

MIME Types

This section is non-normative.

The following MIME types are mentioned in this specification:

application/atom+xml
Atom [ATOM]
application/ecmascript
JavaScript (legacy type) [ECMA262]
application/javascript
JavaScript (legacy type) [ECMA262]
application/json
JSON [JSON]
application/x-ecmascript
JavaScript (legacy type) [ECMA262]
application/x-javascript
JavaScript (legacy type) [ECMA262]
application/octet-stream
Generic binary data [RFC2046]
application/microdata+json
Microdata as JSON
application/rss+xml
RSS
application/x-www-form-urlencoded
Form submission
application/xhtml+xml
HTML
application/xml
XML [XML] [RFC7303]
image/gif
GIF images [GIF]
image/jpeg
JPEG images [JPEG]
image/png
PNG images [JPEG]
image/svg+xml
SVG images [JPEG]
multipart/form-data
Form submission [RFC2388]
multipart/mixed
Generic mixed content [RFC2046]
multipart/x-mixed-replace
Streaming server push
text/cache-manifest
Offline application cache manifests
text/css
CSS [CSS]
text/ecmascript
JavaScript (legacy type) [ECMA262]
text/event-stream
Server-sent event streams
text/javascript
JavaScript [ECMA262]
text/javascript1.0
JavaScript (legacy type) [ECMA262]
text/javascript1.1
JavaScript (legacy type) [ECMA262]
text/javascript1.2
JavaScript (legacy type) [ECMA262]
text/javascript1.3
JavaScript (legacy type) [ECMA262]
text/javascript1.4
JavaScript (legacy type) [ECMA262]
text/javascript1.5
JavaScript (legacy type) [ECMA262]
text/jscript
JavaScript (legacy type) [ECMA262]
text/json
JSON (legacy type)
text/livescript
JavaScript (legacy type) [ECMA262]
text/plain
Generic plain text [RFC2046] [RFC3676]
text/html
HTML
text/uri-list
List of URLs [RFC2483]
text/vcard
vCard [RFC6350]
text/vtt
WebVTT [WEBVTT]
text/x-ecmascript
JavaScript (legacy type) [ECMA262]
text/x-javascript
JavaScript (legacy type) [ECMA262]
text/xml
XML [XML] [RFC7303]
video/mp4
MPEG-4 video [RFC4337]
video/mpeg
MPEG video [RFC2046]