The following sections only cover conforming elements and features.
This section is non-normative.
ahref;
target;
download;
rel;
hreflang;
typeHTMLAnchorElementabbrHTMLElementaddressarticle elementHTMLElementareaalt;
coords;
shape;
href;
target;
download;
rel;
hreflang;
typeHTMLAreaElementarticleHTMLElementasideHTMLElementaudiosource*;
transparent*src;
crossorigin;
preload;
autoplay;
mediagroup;
loop;
muted;
controlsHTMLAudioElementbHTMLElementbasehead;
templatehref;
targetHTMLBaseElementbdiHTMLElementbdoHTMLElementblockquoteciteHTMLQuoteElementbodyhtmlonafterprint;
onbeforeprint;
onbeforeunload;
onhashchange;
onmessage;
onoffline;
ononline;
onpagehide;
onpageshow;
onpopstate;
onstorage;
onunloadHTMLBodyElementbrHTMLBRElementbuttonautofocus;
disabled;
form;
formaction;
formenctype;
formmethod;
formnovalidate;
formtarget;
name;
type;
valueHTMLButtonElementcanvaswidth;
heightHTMLCanvasElementcaptiontable;
templateHTMLTableCaptionElementciteHTMLElementcodeHTMLElementcolcolgroup;
templatespanHTMLTableColElementcolgrouptable;
templatecol*;
script-supporting elements*spanHTMLTableColElementdatavalueHTMLDataElementdatalistoptionHTMLDataListElementdddt element(s)dl;
templateHTMLElementdelcite;
datetimeHTMLModElementdfnHTMLElementdivHTMLDivElementdldt*;
dd*;
script-supporting elementsHTMLDListElementdtdd element(s)dl;
templateHTMLElementemHTMLElementembedsrc;
type;
width;
height;
any*HTMLEmbedElementfieldsetlegend*;
flowdisabled;
form;
nameHTMLFieldSetElementfigcaptionfigurefigure;
templateHTMLElementfigurefigcaption*;
flowHTMLElementfooterHTMLElementformaccept-charset;
action;
autocomplete;
enctype;
method;
name;
novalidate;
targetHTMLFormElementh1, h2, h3, h4, h5, h6HTMLHeadingElementheadhtmlHTMLHeadElementheaderHTMLElementhrHTMLHRElementhtmlhead*;
body*manifestHTMLHtmlElementiHTMLElementiframesrc;
srcdoc;
name;
sandbox;
width;
heightHTMLIFrameElementimgalt;
src;
crossorigin;
usemap;
ismap;
width;
heightHTMLImageElementinputaccept;
alt;
autocomplete;
autofocus;
checked;
dirname;
disabled;
form;
formaction;
formenctype;
formmethod;
formnovalidate;
formtarget;
height;
list;
max;
maxlength;
min;
minlength;
multiple;
name;
pattern;
placeholder;
readonly;
required;
size;
src;
step;
type;
value;
widthHTMLInputElementinscite;
datetimeHTMLModElementkbdHTMLElementkeygenautofocus;
challenge;
disabled;
form;
keytype;
nameHTMLKeygenElementlabelform;
forHTMLLabelElementlegendfieldsetfieldset;
templateHTMLLegendElementliol;
ul;
templatevalue*HTMLLIElementlinkhead;
template;
noscript*;
phrasing*href;
crossorigin;
rel;
media;
hreflang;
type;
sizesHTMLLinkElementmainHTMLElement
maparea*nameHTMLMapElementmarkHTMLElementmetahead;
template;
noscript*;
phrasing*name;
http-equiv;
content;
charsetHTMLMetaElementmetervalue;
min;
max;
low;
high;
optimumHTMLMeterElementnavHTMLElementnoscripthead*;
template*;
phrasing*HTMLElementobjectparam*;
transparentdata;
type;
typemustmatch;
name;
usemap;
form;
width;
heightHTMLObjectElementolli;
script-supporting elementsreversed;
start;
typeHTMLOListElementoptgroupselect;
templateoption;
script-supporting elementsdisabled;
labelHTMLOptGroupElementoptionselect;
datalist;
optgroup;
templatedisabled;
label;
selected;
valueHTMLOptionElementoutputfor;
form;
nameHTMLOutputElementpHTMLParagraphElementparamobjectobject;
templatename;
valueHTMLParamElementpreHTMLPreElementprogressvalue;
maxHTMLProgressElementqciteHTMLQuoteElementrbruby;
templateHTMLElementrpruby;
templateHTMLElementrtruby;
rtc;
templateHTMLElementrtcruby;
templateHTMLElementrubyrp;
rt;
rb;
rtc*
HTMLElementsHTMLElementsampHTMLElementscripthead;
phrasing;
script-supportingsrc;
type;
charset;
async;
defer;
crossoriginHTMLScriptElementsectionHTMLElementselectoption, optgroupautofocus;
disabled;
form;
multiple;
name;
required;
sizeHTMLSelectElementsmallHTMLElementsourcevideo or audiovideo;
audio;
templatesrc;
type;
mediaHTMLSourceElementspanHTMLSpanElementstrongHTMLElementstylehead;
noscript*;
flow*media;
typeHTMLStyleElementsubHTMLElementsupHTMLElementtablecaption*;
colgroup*;
thead*;
tbody*;
tfoot*;
tr*;
script-supporting elementsborderHTMLTableElementtbodytable;
templatetr;
script-supporting elementsHTMLTableSectionElementtdtr;
templatecolspan;
rowspan;
headersHTMLTableDataCellElementtemplatecolgroup*HTMLTemplateElementtextareaautofocus;
cols;
dirname;
disabled;
form;
maxlength;
minlength;
name;
placeholder;
readonly;
required;
rows;
wrapHTMLTextAreaElementtfoottable;
templatetr;
script-supporting elementsHTMLTableSectionElementthtr;
templatecolspan;
rowspan;
headers;
scope;
abbrHTMLTableHeaderCellElementtheadtable;
templatetr;
script-supporting elementsHTMLTableSectionElementtimedatetimeHTMLTimeElementtitlehead;
templateHTMLTitleElementtrtable;
thead;
tbody;
tfoot;
templateth*;
td;
script-supporting elementsHTMLTableRowElementtrackaudio;
video;
templatedefault;
kind;
label;
src;
srclangHTMLTrackElementuHTMLElementulli;
script-supporting elementsHTMLUListElementvarHTMLElementvideosource*;
transparent*src;
crossorigin;
poster;
preload;
autoplay;
mediagroup;
loop;
muted;
controls;
width;
heightHTMLVideoElementwbrHTMLElementAn 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.
This section is non-normative.
base;
link;
meta;
noscript;
script;
style;
template;
title
a;
abbr;
address;
article;
aside;
audio;
b;
bdi;
bdo;
blockquote;
br;
button;
canvas;
cite;
code;
data;
datalist;
del;
dfn;
div;
dl;
em;
embed;
fieldset;
figure;
footer;
form;
h1;
h2;
h3;
h4;
h5;
h6;
header;
hr;
i;
iframe;
img;
input;
ins;
kbd;
keygen;
label;
main;
map;
mark;
math;
meter;
nav;
noscript;
object;
ol;
output;
p;
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)
article;
aside;
nav;
section
h1;
h2;
h3;
h4;
h5;
h6;
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;
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)
audio
canvas
embed
iframe
img
math
object
svg
video
a;
button;
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);
video (if the controls attribute is present)
blockquote;
body;
fieldset;
figure;
td
button;
fieldset;
input;
keygen;
label;
object;
output;
select;
textarea;
img
button;
fieldset;
input;
keygen;
object;
output;
select;
textarea
button;
input;
keygen;
object;
select;
textarea
input;
keygen;
output;
select;
textarea
button;
input;
keygen;
meter;
output;
progress;
select;
textarea
button;
fieldset;
input;
keygen;
label;
object;
output;
select;
textarea
a;
abbr;
address;
article;
aside;
b;
bdi;
bdo;
blockquote;
button;
canvas;
cite;
code;
data;
dfn;
div;
em;
embed;
fieldset;
figure;
footer;
form;
h1;
h2;
h3;
h4;
h5;
h6;
header;
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);
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;
template
This section is non-normative.
abbr
th
accept
input
audio/*, video/*, or image/*
accept-charset
form
accesskey
action
form
alt
area;
img;
input
async
script
autocomplete
form
on"; "off"
autocomplete
input;
select;
textarea
autofocus
button;
input;
keygen;
select;
textarea
autoplay
audio;
video
border
table
table element is not being used for layout purposes
1"
challenge
keygen
charset
meta
charset
script
checked
input
cite
blockquote;
del;
ins;
q
class
cols
textarea
colspan
td;
th
content
meta
contenteditable
true"; "false"
controls
audio;
video
coords
area
crossorigin
audio;
img;
link;
script;
video
anonymous"; "use-credentials"
data
object
datetime
del;
ins
datetime
time
default
track
defer
script
dir
ltr"; "rtl"; "auto"
dir
bdo
ltr"; "rtl"
dirname
input;
textarea
disabled
button;
fieldset;
input;
keygen;
optgroup;
option;
select;
textarea
download
a;
area
enctype
form
application/x-www-form-urlencoded"; "multipart/form-data"; "text/plain"
for
label
for
output
form
button;
fieldset;
input;
keygen;
label;
object;
output;
select;
textarea
form element
formaction
button;
input
formenctype
button;
input
application/x-www-form-urlencoded"; "multipart/form-data"; "text/plain"
formmethod
button;
input
GET"; "POST"
formnovalidate
button;
input
formtarget
button;
input
headers
td;
th
height
canvas;
embed;
iframe;
img;
input;
object;
video
hidden
high
meter
href
a;
area
href
link
href
base
hreflang
a;
area;
link
http-equiv
meta
id
ismap
img
keytype
keygen
kind
track
subtitles";
"captions";
"descriptions";
"chapters";
"metadata"
label
optgroup;
option;
track
lang
list
input
loop
audio;
video
low
meter
manifest
html
max
input
max
meter;
progress
maxlength
input;
textarea
media
link;
source;
style
mediagroup
audio;
video
MediaController
method
form
GET";
"POST";
min
input
min
meter
minlength
input;
textarea
multiple
input;
select
muted
audio;
video
name
button;
fieldset;
input;
keygen;
output;
select;
textarea
form.elements API
name
form
document.forms API
name
iframe;
object
name
map
usemap attribute
name
meta
name
param
novalidate
form
optimum
meter
pattern
input
placeholder
input;
textarea
poster
video
preload
audio;
video
none";
"metadata";
"auto"
readonly
input;
textarea
rel
a;
area;
link
required
input;
select;
textarea
reversed
ol
rows
textarea
rowspan
td;
th
sandbox
iframe
allow-forms",
"allow-pointer-lock",
"allow-popups",
"allow-same-origin",
"allow-scripts and
"allow-top-navigation"
spellcheck
true"; "false"
scope
th
row";
"col";
"rowgroup";
"colgroup"
selected
option
shape
area
circle";
"default";
"poly";
"rect"
size
input;
select
sizes
link
rel="icon")
span
col;
colgroup
src
audio;
embed;
iframe;
img;
input;
script;
source;
track;
video
srcdoc
iframe
iframe
iframe srcdoc document*
srclang
track
start
ol
step
input
any"
style
tabindex
target
a;
area
target
base
target
form
title
title
abbr;
dfn
title
input
pattern attribute)
title
link
title
link;
style
translate
yes"; "no"
type
a;
area;
link
type
button
submit";
"reset";
"button"
type
embed;
object;
script;
source;
style
type
input
input type keyword
type
ol
1";
"a";
"A";
"i";
"I"
typemustmatch
object
type attribute and the Content-Type value need to match for the resource to be used
usemap
img;
object
value
button;
option
value
data
value
input
value
li
value
meter;
progress
value
param
width
canvas;
embed;
iframe;
img;
input;
object;
video
wrap
textarea
soft";
"hard"
An asterisk (*) in a cell indicates that the actual rules are more complicated than indicated in the table above.
onabort
abort event handler
onafterprint
body
afterprint event handler for Window object
onbeforeprint
body
beforeprint event handler for Window object
onbeforeunload
body
beforeunload event handler for Window object
onblur
blur event handler
oncancel
cancel event handler
oncanplay
canplay event handler
oncanplaythrough
canplaythrough event handler
onchange
change event handler
onclick
click event handler
oncuechange
cuechange event handler
ondblclick
dblclick event handler
ondurationchange
durationchange event handler
onemptied
emptied event handler
onended
ended event handler
onerror
error event handler
onfocus
focus event handler
onhashchange
body
hashchange event handler for Window object
oninput
input event handler
oninvalid
invalid event handler
onkeydown
keydown event handler
onkeypress
keypress event handler
onkeyup
keyup event handler
onload
load event handler
onloadeddata
loadeddata event handler
onloadedmetadata
loadedmetadata event handler
onloadstart
loadstart event handler
onmessage
body
message event handler for Window object
onmousedown
mousedown event handler
onmouseenter
mouseenter event handler
onmouseleave
mouseleave event handler
onmousemove
mousemove event handler
onmouseout
mouseout event handler
onmouseover
mouseover event handler
onmouseup
mouseup event handler
onmousewheel
mousewheel event handler
onoffline
body
offline event handler for Window object
ononline
body
online event handler for Window object
onpagehide
body
pagehide event handler for Window object
onpageshow
body
pageshow event handler for Window object
onpause
pause event handler
onplay
play event handler
onplaying
playing event handler
onpopstate
body
popstate event handler for Window object
onprogress
progress event handler
onratechange
ratechange event handler
onreset
reset event handler
onresize
resize event handler
onscroll
scroll event handler
onseeked
seeked event handler
onseeking
seeking event handler
onselect
select event handler
onshow
show event handler
onstalled
stalled event handler
onstorage
body
storage event handler for Window object
onsubmit
submit event handler
onsuspend
suspend event handler
ontimeupdate
timeupdate event handler
ontoggle
toggle event handler
onunload
body
unload event handler for Window object
onvolumechange
volumechange event handler
onwaiting
waiting event handler
This section is non-normative.
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
data
HTMLDataElement : HTMLElement
datalist
HTMLDataListElement : HTMLElement
dd
HTMLElement
del
HTMLModElement : HTMLElement
dfn
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
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
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
This section is non-normative.
This section is non-normative.
abort
Event
Window when the download was aborted by the user
afterprint
Event
Window after printing
beforeprint
Event
Window before printing
beforeunload
BeforeUnloadEvent
Window when the page is about to be unloaded, in case the page would like to show a warning prompt
blur
Event
change
Event
click
Event
DOMContentLoaded
Event
Document once the parser has finished
error
Event
focus
Event
hashchange
HashChangeEvent
Window when the fragment identifier part of the document's address changes
input
Event
invalid
Event
load
Event
Window when the document has finished loading; fired at an element containing a resource (e.g. img, embed) when its resource has finished loading
message
MessageEvent
offline
Event
Window when the network connections fails
online
Event
Window when the network connections returns
pagehide
PageTransitionEvent
Window when the page's entry in the session history stops being the current entry
pageshow
PageTransitionEvent
Window when the page's entry in the session history becomes the current entry
popstate
PopStateEvent
Window when the user navigates the session history
readystatechange
Event
Document when it finishes parsing and again when all its subresources have finished loading
reset
Event
form element when it is reset
submit
Event
form element when it is submitted
unload
Event
Window object when the page is going away
See also media element events, and application cache events.