Jens Oliver Meiert

Use my latest work: latest tech book · latest non-tech book · latest optimization tool · latest defense tool

HTML Concepts: Kinds of Elements

Published on May 31, 2023, filed under , . (Share this post, e.g., on Mastodon or on Bluesky.)

There are six (not two, five, or eight) different kinds of elements in HTML:

  1. Void elements: area, base, br, col, embed, hr, img, input, link, meta, source, track, and wbr
  2. Raw text elements: script and style
  3. Escapable raw text elements: textarea and title
  4. The template element: template
  5. Foreign elements: elements from the MathML and SVG namespaces
  6. Normal elements: all other allowed HTML elements

This classification is useful because these elements differ in key aspects. Void elements have no contents (they have no end tag, even if we wanted one). The template element contains template contents. MathML and SVG relate to different specifications (and may therefore not even be counted as HTML elements).

As always (consider the Web Developer’s Pilgrimage), the HTML specification has the details: § 13.1.2 Elements. And this is part of a series: more HTML concepts.

About Me

Jens Oliver Meiert, on March 2, 2026.

I’m Jens (long: Jens Oliver Meiert), and I’m an engineering lead, guerrilla philosopher, and indie publisher. I’ve worked as a technical lead and engineering manager at various companies, including Google; I’m an open-source developer and a contributor to web standards (like HTML, CSS, WCAG); and I write and review books for O’Reilly and Frontend Dogma.

I love trying things, not only in web development and engineering management, but also with respect to politics and philosophy. Here on meiert.com I talk about some of my experiences and perspectives. (Please share feedbackinterpret charitably, keep it friendly, but do be critical.)