HTML Elements Reference

Every HTML5 element with content model, allowed attributes and ARIA role.

A searchable HTML5 element reference covering metadata, sectioning, grouping, embedded, tabular and form elements with each one's content model, whether it is a void element and its implicit ARIA role. It runs free in your browser on Gera Tools, with nothing uploaded.

Last updated Source: Gera Tools

What is a void element in HTML?

A void element has no content model and no closing tag — examples are img, input, br, hr, meta and link. You cannot place children inside them, and the self-closing slash (like <br />) is optional in HTML syntax.

This is a searchable reference for the common HTML5 elements — the building blocks of every web page. It groups them by category (metadata, sectioning, grouping, text-level, embedded, tabular, forms and interactive) and, for each, shows the content model it permits, whether it is a void element, and the implicit ARIA role browsers assign it.

Content categories explained

Every element participates in one or more named content categories, and its content model is defined in terms of those same categories:

  • Metadata content — elements that configure the document without rendering anything visible: <head>, <title>, <meta>, <link>, <style>, <script>, <noscript>.
  • Flow content — nearly everything that appears in the body of a document. Most elements fall here.
  • Sectioning content — creates a new section in the document outline: <article>, <aside>, <nav>, <section>.
  • Heading content<h1> through <h6>, and <hgroup>.
  • Phrasing content — the inline, text-level subset: <a>, <em>, <strong>, <span>, <abbr>, <code>, <time>, etc.
  • Embedded content — imports external content: <img>, <video>, <audio>, <iframe>, <canvas>, <svg>.
  • Interactive content — elements that a user can interact with: <a> (with href), <button>, <details>, <input>, <select>, <textarea>.

Void elements

Void elements — <img>, <input>, <br>, <hr>, <meta>, <link>, <area>, <base>, <col>, <embed>, <param>, <source>, <track>, <wbr> — have no content model and no children. The self-closing slash (<br />) is syntactically optional in HTML5, but has no meaning; it is only required in XHTML.

Implicit ARIA roles

The browser maps most elements to an ARIA role that assistive technology exposes, giving you landmarks for free:

ElementImplicit ARIA role
<main>main
<nav>navigation
<header>banner (when a descendant of body)
<footer>contentinfo (when a descendant of body)
<article>article
<section>region (when named)
<button>button
<a href>link
<h1><h6>heading
<ul> / <ol>list

Restating the implicit role is redundant; overriding it can mislead assistive tech.

Transparent content model

The <a> element has a transparent content model — it inherits the model of its parent. If <a> is inside a paragraph (phrasing context), it may only contain phrasing content. If it is inside a <div> or <article> (flow context), it may wrap block-level elements like <h2> or <p>. This is why a large card-style link wrapping a heading and paragraph is valid HTML5.

Tips for choosing the right element

  • Use <article> when the content could stand alone (a blog post, a product card, a comment).
  • Use <section> for thematic groupings that need a heading but are not self-contained.
  • Prefer <aside> for tangential content — a sidebar, an author bio — rather than a decorative <div>.
  • Use exactly one <main> per page; it marks the primary content and is a key screen-reader landmark.
  • Prefer <figure> / <figcaption> over a bare <img> when you need a caption.

Example

<article>
  <header>
    <h2>Post title</h2>
    <time datetime="2026-06-06">6 June 2026</time>
  </header>
  <p>Body text with a <a href="/more">link</a>.</p>
  <aside>Related reading: <a href="/topic">Topic overview</a></aside>
  <footer>Filed under <a href="/category">Category</a></footer>
</article>

Everything runs in your browser; nothing you search is uploaded.