| Category | Elements | Elements with exceptions |
|---|---|---|
| Metadata content | <{base}>; <{link}>; <{meta}>; <{noscript}>; <{script}>; <{style}>; <{template}>; <{title}> | — |
| Flow content | <{a}>; <{abbr}>; <{address}>; <{article}>; <{aside}>; <{audio}>; <{b}>; <{bdi}>; <{bdo}>; <{blockquote}>; <{br}>; <{button}>; <{canvas}>; <{cite}>; <{code}>; <{data}>; <{datalist}>; <{del}>; <{details}>; <{dfn}>; <{dialog}>; <{div}>; <{dl}>; <{em}>; <{embed}>; <{fieldset}>; <{figure}>; <{footer}>; <{form}>; <{h1}>; <{h2}>; <{h3}>; <{h4}>; <{h5}>; <{h6}>; <{header}>; <{hr}>; <{i}>; <{iframe}>; <{img}>; <{input}>; <{ins}>; <{kbd}>; <{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}>; autonomous custom elements; Text | <{area}> (if it is a descendant of a <{map}> element); <{link}> (if it is allowed in the body); |
| Sectioning content | <{article}>; <{aside}>; <{nav}>; <{section}> | — |
| Heading content | <{h1}>; <{h2}>; <{h3}>; <{h4}>; <{h5}>; <{h6}>; | — |
| 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}>; <{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); <{link}> (if it is allowed in the body); |
| Embedded content | <{audio}>; <{canvas}>; <{embed}>; <{iframe}>; <{img}>; <{math}>; <{object}>; <{svg}>; <{video}> | — |
| Interactive content* | <{button}>; <{details}>; <{embed}>; <{iframe}>; <{label}>; <{select}>; <{textarea}> | <{a}> (if the <{a/href}> attribute is present); <{audio}> (if the <{audio/controls}> attribute is present); <{img}> (if the <{common/usemap}> attribute is present); <{input}> (if the <{input/type}> attribute is not in the <{input/Hidden}> state); <{video}> (if the <{video/controls}> attribute is present) |
| Sectioning roots | <{blockquote}>; <{body}>; <{details}>; <{dialog}>; <{fieldset}>; <{figure}>; <{td}> | — |
| Form-associated elements | <{button}>; <{fieldset}>; <{input}>; <{label}>; <{object}>; <{output}>; <{select}>; <{textarea}>; <{img}> | — |
| Listed elements | <{button}>; <{fieldset}>; <{input}>; <{object}>; <{output}>; <{select}>; <{textarea}> | — |
| Submittable elements | <{button}>; <{input}>; <{object}>; <{select}>; <{textarea}> | — |
| Resettable elements | <{input}>; <{output}>; <{select}>; <{textarea}> | — |
| Labelable elements | <{button}>; <{input}>; <{meter}>; <{output}>; <{progress}>; <{select}>; <{textarea}> | — |
| Reassociateable elements | <{button}>; <{fieldset}>; <{input}>; <{label}>; <{object}>; <{output}>; <{select}>; <{textarea}> | — |
| Palpable content | <{a}>; <{abbr}>; <{address}>; <{article}>; <{aside}>; <{b}>; <{bdi}>; <{bdo}>; <{blockquote}>; <{button}>; <{canvas}>; <{cite}>; <{code}>; <{data}>; <{details}>; <{dfn}>; <{div}>; <{em}>; <{embed}>; <{fieldset}>; <{figure}>; <{footer}>; <{form}>; <{h1}>; <{h2}>; <{h3}>; <{h4}>; <{h5}>; <{h6}>; <{header}>; <{i}>; <{iframe}>; <{img}>; <{ins}>; <{kbd}>; <{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 <{audio/controls}> attribute is present); <{dl}> (if the element's children include at least one name-value group); <{input}> (if the <{input/type}> attribute is not in the <{input/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 white space |
| Script-supporting elements | <{script}>; <{template}> | — |
* The <{global/tabindex}> attribute can also make any element into interactive content.