Elements

This section is non-normative.
List of elements
Element Description Categories Parents† Children Attributes Interface
<{a}> Hyperlink flow; phrasing*; interactive phrasing transparent* globals; <{links/href}>; <{links/target}>; <{links/download}>; <{links/ping}>; <{links/rel}>; <{links/hreflang}>; <{links/type}>; <{link/referrerpolicy}> {{HTMLAnchorElement}}
<{abbr}> Abbreviation flow; phrasing phrasing phrasing globals {{HTMLElement}}
<{address}> Contact information flow flow flow* globals {{HTMLElement}}
<{area}> Hyperlink or dead area on an image map flow; phrasing phrasing* empty globals; <{area/alt}>; <{area/coords}>; <{area/shape}>; <{links/href}>; <{links/target}>; <{links/download}>; <{links/ping}>; <{links/rel}>; <{links/hreflang}>; <{links/type}>; <{link/referrerpolicy}> {{HTMLAreaElement}}
<{article}> Self-contained syndicatable or reusable composition flow; sectioning flow flow globals {{HTMLElement}}
<{aside}> Sidebar for tangentially related content flow; sectioning flow flow globals {{HTMLElement}}
<{audio}> Audio player flow; phrasing; embedded; interactive phrasing <{source}>*; transparent* globals; <{media/src}>; <{media/crossorigin}>; <{media/disableRemotePlayback}>; <{media/preload}>; <{media/autoplay}>; <{media/loop}>; <{media/muted}>; <{audio/controls}> {{HTMLAudioElement}}
<{b}> Keywords flow; phrasing phrasing phrasing globals {{HTMLElement}}
<{base}> Base URL and default target browsing context for hyperlinks and forms metadata <{head}>; <{template}> empty globals; <{base/href}>; <{base/target}> {{HTMLBaseElement}}
<{bdi}> Text directionality isolation flow; phrasing phrasing phrasing globals {{HTMLElement}}
<{bdo}> Text directionality formatting flow; phrasing phrasing phrasing globals {{HTMLElement}}
<{blockquote}> A section quoted from another source flow; sectioning root flow flow globals; <{blockquote/cite}> {{HTMLQuoteElement}}
<{body}> Document body sectioning root <{html}> flow globals; {{WindowEventHandlers/onafterprint}}; {{WindowEventHandlers/onbeforeprint}}; {{WindowEventHandlers/onbeforeunload}}; {{WindowEventHandlers/onhashchange}}; {{WindowEventHandlers/onlanguagechange}}; {{WindowEventHandlers/onmessage}}; {{WindowEventHandlers/onoffline}}; {{WindowEventHandlers/ononline}}; {{WindowEventHandlers/onpagehide}}; {{WindowEventHandlers/onpageshow}}; {{WindowEventHandlers/onpopstate}}; {{WindowEventHandlers/onstorage}}; {{WindowEventHandlers/onunload}} {{HTMLBodyElement}}
<{br}> Line break, e.g., in poem or postal address flow; phrasing phrasing empty globals {{HTMLBRElement}}
<{button}> Button control flow; phrasing; interactive; listed; labelable; submittable; reassociateable; form-associated phrasing phrasing* globals; <{button/autofocus}>; <{button/disabled}>; <{button/form}>; <{button/formaction}>; <{button/formenctype}>; <{button/formmethod}>; <{button/formnovalidate}>; <{button/formtarget}>; <{button/name}>; <{button/type}>; <{button/value}> {{HTMLButtonElement}}
<{canvas}> Scriptable bitmap canvas flow; phrasing; embedded phrasing transparent globals; <{canvas/width}>; <{canvas/height}> {{HTMLCanvasElement}}
<{caption}> Table caption none <{table}>; <{template}> flow* globals {{HTMLTableCaptionElement}}
<{cite}> Title of a work flow; phrasing phrasing phrasing globals {{HTMLElement}}
<{code}> Computer code flow; phrasing phrasing phrasing globals {{HTMLElement}}
<{col}> Table column none <{colgroup}>; <{template}> empty globals; <{col/span}> {{HTMLTableColElement}}
<{colgroup}> Group of columns in a table none <{table}>; <{template}> <{col}>*; <{template}>* globals; <{colgroup/span}> {{HTMLTableColElement}}
<{data}> Machine-readable equivalent flow; phrasing phrasing phrasing globals; <{data/value}> {{HTMLDataElement}}
<{datalist}> Container for options for combo box control flow; phrasing phrasing phrasing; <{option}> globals {{HTMLDataListElement}}
<{dd}> Content for corresponding <{dt}> element(s) none <{dl}>; <{template}> flow globals {{HTMLElement}}
<{del}> A removal from the document flow; phrasing* phrasing transparent globals; <{edits/cite}>; <{edits/datetime}> {{HTMLModElement}}
<{details}> Disclosure control for hiding details flow; sectioning root; interactive flow <{summary}>*; flow globals; <{details/open}> {{HTMLDetailsElement}}
<{dfn}> Defining instance flow; phrasing phrasing phrasing* globals {{HTMLElement}}
<{dialog}> Dialog box or window flow; sectioning root flow flow globals; <{dialog/open}> {{HTMLDialogElement}}
<{div}> Generic flow container flow flow flow globals {{HTMLDivElement}}
<{dl}> Association list consisting of zero or more name-value groups flow flow <{dt}>*; <{dd}>*; script-supporting elements globals {{HTMLDListElement}}
<{dt}> Legend for corresponding <{dd}> element(s) none <{dl}>; <{template}> flow* globals {{HTMLElement}}
<{em}> Stress emphasis flow; phrasing phrasing phrasing globals {{HTMLElement}}
<{embed}> Plugin flow; phrasing; embedded; interactive phrasing empty globals; <{embed/src}>; <{embed/type}>; <{media/width}>; <{media/height}>; any* {{HTMLEmbedElement}}
<{fieldset}> Group of form controls flow; sectioning root; listed; reassociateable; form-associated flow <{legend}>*; flow globals; <{fieldset/disabled}>; <{fieldset/form}>; <{fieldset/name}> {{HTMLFieldSetElement}}
<{figcaption}> Caption for <{figure}> none <{figure}>; <{template}> flow globals {{HTMLElement}}
<{figure}> Figure with optional caption flow; sectioning root flow <{figcaption}>*; flow globals {{HTMLElement}}
<{footer}> Footer for a page or section flow flow flow* globals {{HTMLElement}}
<{form}> User-submittable form flow flow flow* globals; <{form/accept-charset}>; <{form/action}>; <{form/autocomplete}>; <{form/enctype}>; <{form/method}>; <{form/name}>; <{form/novalidate}>; <{form/target}> {{HTMLFormElement}}
<{h1}>, <{h2}>, <{h3}>, <{h4}>, <{h5}>, <{h6}> Section heading flow; headings flow phrasing globals {{HTMLHeadingElement}}
<{head}> Container for document metadata none <{html}> metadata* globals {{HTMLHeadElement}}
<{header}> Introductory or navigational aids for a page or section flow flow flow* globals {{HTMLElement}}
<{hr}> Thematic break flow flow empty globals {{HTMLHRElement}}
<{html}> Root element none none* <{head}>*; <{body}>* globals; <{html/manifest}> {{HTMLHtmlElement}}
<{i}> Alternate voice flow; phrasing phrasing phrasing globals {{HTMLElement}}
<{iframe}> Nested browsing context flow; phrasing; embedded; interactive phrasing text* globals; <{iframe/src}>; <{iframe/srcdoc}>; <{iframe/name}>; <{iframe/sandbox}>; <{iframe/allowfullscreen}>; <{media/width}>; <{media/height}>; <{iframe/referrerpolicy}> {{HTMLIFrameElement}}
<{img}> Image flow; phrasing; embedded; interactive*; form-associated phrasing empty globals; <{img/alt}>; <{img/src}>; <{img/srcset}>; <{img/crossorigin}>; <{common/usemap}>; <{img/ismap}>; <{img/longdesc}>; <{media/width}>; <{media/height}>; <{img/referrerpolicy}> {{HTMLImageElement}}
<{input}> Form control flow; phrasing; interactive*; listed; labelable; submittable; resettable; reassociateable; form-associated phrasing empty globals; <{input/accept}>; <{input/alt}>; <{input/autocapitalize}>; <{input/autocomplete}>; <{input/autofocus}>; <{input/checked}>; <{input/dirname}>; <{input/disabled}>; <{input/form}>; <{input/formaction}>; <{input/formenctype}>; <{input/formmethod}>; <{input/formnovalidate}>; <{input/formtarget}>; <{input/height}>; <{input/list}>; <{input/max}>; <{input/maxlength}>; <{input/min}>; <{input/minlength}>; <{input/multiple}>; <{input/name}>; <{input/pattern}>; <{input/placeholder}>; <{input/readonly}>; <{input/required}>; <{input/size}>; <{input/src}>; <{input/step}>; <{input/type}>; <{input/value}>; <{input/width}> {{HTMLInputElement}}
<{ins}> An addition to the document flow; phrasing* phrasing transparent globals; <{edits/cite}>; <{edits/datetime}> {{HTMLModElement}}
<{kbd}> User input flow; phrasing phrasing phrasing globals {{HTMLElement}}
<{label}> Caption for a form control flow; phrasing; interactive; reassociateable; form-associated phrasing phrasing* globals; <{label/for}> {{HTMLLabelElement}}
<{legend}> Caption for <{fieldset}> none <{fieldset}>; <{template}> phrasing globals {{HTMLLegendElement}}
<{li}> List item none <{ol}>; <{ul}>; <{template}> flow globals; <{li/value}>* {{HTMLLIElement}}
<{link}> Link metadata metadata; flow*; phrasing* <{head}>; <{template}>; <{noscript}>*; phrasing* empty globals; <{link/href}>; <{link/crossorigin}>; <{link/integrity}>; <{link/rel}>; <{link/media}>; <{link/referrerpolicy}>; <{link/hreflang}>; <{link/type}>; <{link/sizes}> {{HTMLLinkElement}}
<{main}> Main content of a document flow flow flow* globals {{HTMLElement}}
<{map}> Image map flow; phrasing* phrasing transparent; <{area}>* globals; <{map/name}> {{HTMLMapElement}}
<{mark}> Highlight flow; phrasing phrasing phrasing globals {{HTMLElement}}
<{meta}> Text metadata metadata; flow*; phrasing* <{head}>; <{template}>; <{noscript}>*; phrasing* empty globals; <{meta/name}>; <{meta/http-equiv}>; <{meta/content}>; <{meta/charset}> {{HTMLMetaElement}}
<{meter}> Gauge flow; phrasing; labelable phrasing phrasing* globals; <{meter/value}>; <{meter/min}>; <{meter/max}>; <{meter/low}>; <{meter/high}>; <{meter/optimum}> {{HTMLMeterElement}}
<{nav}> Section with navigational links flow; sectioning flow flow globals {{HTMLElement}}
<{noscript}> Fallback content for script metadata; flow; phrasing <{head}>*; <{template}>*; phrasing* varies* globals {{HTMLElement}}
<{object}> Image, nested browsing context, or plugin flow; phrasing; embedded; interactive*; listed; submittable; reassociateable; form-associated phrasing <{param}>*; transparent globals; <{object/data}>; <{object/type}>; <{object/typemustmatch}>; <{object/name}>; <{media/width}>; <{media/height}> {{HTMLObjectElement}}
<{ol}> Ordered list flow flow <{li}>; script-supporting elements globals; <{ol/reversed}>; <{ol/start}>; <{ol/type}> {{HTMLOListElement}}
<{optgroup}> Group of options in a list box none <{select}>; <{template}> <{option}>; script-supporting elements globals; <{optgroup/disabled}>; <{optgroup/label}> {{HTMLOptGroupElement}}
<{option}> Option in a list box or combo box control none <{select}>; <{datalist}>; <{optgroup}>; <{template}> text* globals; <{option/disabled}>; <{option/label}>; <{option/selected}>; <{option/value}> {{HTMLOptionElement}}
<{output}> Calculated output value flow; phrasing; listed; labelable; resettable; reassociateable; form-associated phrasing phrasing globals; <{output/for}>; <{output/form}>; <{output/name}> {{HTMLOutputElement}}
<{p}> Paragraph flow flow phrasing globals {{HTMLParagraphElement}}
<{param}> Parameter for <{object}> none <{object}>; <{template}> empty globals; <{param/name}>; <{param/value}> {{HTMLParamElement}}
<{picture}> Image flow; phrasing; embedded phrasing <{source}>*; one <{img}>; script-supporting elements globals {{HTMLPictureElement}}
<{pre}> Block of preformatted text flow flow phrasing globals {{HTMLPreElement}}
<{progress}> Progress bar flow; phrasing; labelable phrasing phrasing* globals; <{progress/value}>; <{progress/max}> {{HTMLProgressElement}}
<{q}> Quotation flow; phrasing phrasing phrasing globals; <{q/cite}> {{HTMLQuoteElement}}
<{rb}> Ruby base none <{ruby}>; <{template}> phrasing globals {{HTMLElement}}
<{rp}> Parenthesis for ruby annotation text none <{ruby}>; <{rtc}>; <{template}> phrasing globals {{HTMLElement}}
<{rt}> Ruby annotation text none <{ruby}>; <{rtc}>; <{template}> phrasing globals {{HTMLElement}}
<{rtc}> Ruby annotation text container none <{ruby}>; <{template}> phrasing globals {{HTMLElement}}
<{ruby}> Ruby annotation(s) flow; phrasing phrasing phrasing; <{rp}>; <{rt}>; <{rb}>; <{rtc}>* globals {{HTMLElement}}
<{s}> Inaccurate text flow; phrasing phrasing phrasing globals {{HTMLElement}}
<{samp}> Computer output flow; phrasing phrasing phrasing globals {{HTMLElement}}
<{script}> Embedded script metadata; flow; phrasing; script-supporting elements <{head}>; phrasing; script-supporting elements script, data, or script documentation* globals; <{script/src}>; <{script/type}>; <{script/charset}>; <{script/async}>; <{script/defer}>; <{script/crossorigin}> <{script/integrity}> {{HTMLScriptElement}}
<{section}> Generic document or application section flow; sectioning flow flow globals {{HTMLElement}}
<{select}> List box control flow; phrasing; interactive; listed; labelable; submittable; resettable; reassociateable; form-associated phrasing <{option}>; <{optgroup}>; script-supporting elements globals; <{select/autocomplete}>; <{select/autofocus}>; <{select/disabled}>; <{select/form}>; <{select/multiple}>; <{select/name}>; <{select/required}>; <{select/size}> {{HTMLSelectElement}}
<{small}> Side comment flow; phrasing phrasing phrasing globals {{HTMLElement}}
<{slot}> Shadow root slot flow; phrasing phrasing transparent globals; <{slot/name}> {{HTMLElement}}
<{source}> Media source for <{video}> or <{audio}> or as image source for <{picture}> none <{video}>; <{audio}>; <{template}>; <{picture}> empty globals; <{source/src}>; <{source/type}>; <{source/srcset}>; <{source/sizes}>; <{source/media}> {{HTMLSourceElement}}
<{span}> Generic phrasing container flow; phrasing phrasing phrasing globals {{HTMLSpanElement}}
<{strong}> Importance flow; phrasing phrasing phrasing globals {{HTMLElement}}
<{style}> Embedded styling information metadata; flow* <{head}>; <{noscript}>*; flow* varies* globals; <{style/media}>; <{style/type}> {{HTMLStyleElement}}
<{sub}> Subscript flow; phrasing phrasing phrasing globals {{HTMLElement}}
<{summary}> Caption for <{details}> none <{details}> phrasing globals {{HTMLElement}}
<{sup}> Superscript flow; phrasing phrasing phrasing globals {{HTMLElement}}
<{table}> Table flow flow <{caption}>*; <{colgroup}>*; <{thead}>*; <{tbody}>*; <{tfoot}>*; <{tr}>*; script-supporting elements globals; <{table/border}> {{HTMLTableElement}}
<{tbody}> Group of rows in a table none <{table}>; <{template}> <{tr}>; script-supporting elements globals {{HTMLTableSectionElement}}
<{td}> Table cell sectioning root <{tr}>; <{template}> flow globals; <{tablecells/colspan}>; <{tablecells/rowspan}>; <{tablecells/headers}> {{HTMLTableDataCellElement}}
<{template}> Template metadata; flow; phrasing; script-supporting elements metadata; phrasing; script-supporting elements; <{colgroup}>* it's complicated* globals {{HTMLTemplateElement}}
<{textarea}> Multiline text field flow; phrasing; interactive; listed; labelable; submittable; resettable; reassociateable; form-associated phrasing text globals; <{textarea/autocapitalize}>; <{textarea/autofocus}>; <{textarea/cols}>; <{textarea/dirname}>; <{textarea/disabled}>; <{textarea/form}>; <{textarea/maxlength}>; <{textarea/minlength}>; <{textarea/name}>; <{textarea/placeholder}>; <{textarea/readonly}>; <{textarea/required}>; <{textarea/rows}>; <{textarea/wrap}> {{HTMLTextAreaElement}}
<{tfoot}> Group of footer rows in a table none <{table}>; <{template}> <{tr}>; script-supporting elements globals {{HTMLTableSectionElement}}
<{th}> Table header cell interactive* <{tr}>; <{template}> flow* globals; <{tablecells/colspan}>; <{tablecells/rowspan}>; <{tablecells/headers}>; <{th/scope}>; <{th/abbr}> {{HTMLTableHeaderCellElement}}
<{thead}> Group of heading rows in a table none <{table}>; <{template}> <{tr}>; script-supporting elements globals {{HTMLTableSectionElement}}
<{time}> Machine-readable equivalent of date- or time-related data flow; phrasing phrasing phrasing globals; <{time/datetime}> {{HTMLTimeElement}}
<{title}> Document title metadata <{head}>; <{template}> text* globals {{HTMLTitleElement}}
<{tr}> Table row none <{table}>; <{thead}>; <{tbody}>; <{tfoot}>; <{template}> <{th}>*; <{td}>; script-supporting elements globals {{HTMLTableRowElement}}
<{track}> Timed text track none <{audio}>; <{video}>; <{template}> empty globals; <{track/default}>; <{track/kind}>; <{track/label}>; <{track/src}>; <{track/srclang}> {{HTMLTrackElement}}
<{u}> Keywords flow; phrasing phrasing phrasing globals {{HTMLElement}}
<{ul}> List flow flow <{li}>; script-supporting elements globals {{HTMLUListElement}}
<{var}> Variable flow; phrasing phrasing phrasing globals {{HTMLElement}}
<{video}> Video player flow; phrasing; embedded; interactive phrasing <{source}>*; transparent* globals; <{media/src}>; <{media/crossorigin}>; <{media/disableRemotePlayback}>; <{video/poster}>; <{media/preload}>; <{media/autoplay}>; <{media/loop}>; <{media/muted}>; <{video/controls}>; <{media/width}>; <{media/height}> {{HTMLVideoElement}}
<{wbr}> Line breaking opportunity flow; phrasing phrasing empty globals {{HTMLElement}}
autonomous custom elements Author-defined elements flow; phrasing; palpable flow; phrasing transparent globals; any, as decided by the element's author Supplied by the element's author. Inherits from {{HTMLElement}}

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.