Every HTML Element

Page behavior and presentation

  • Several users report the page initially scrolling down near an <iframe> (red dot) on load, on both mobile and desktop; author attributes it to misconfigured iframe source and fixes it.
  • People are impressed that browsers handle many recursive iframes (one user counts 18 levels before it stops rendering).

Scope: “Every HTML Element”?

  • Debate over what “every” means: some note missing or hard-to-spot elements like <script>, <canvas>, <details>/<summary>, <dialog>, <marquee>, <blink>, deprecated tags (<xmp>, <plaintext>, <center>), and experimental <portal>.
  • Others point out distinctions between conforming, obsolete, and never-standard elements; HTML specs don’t have a single clean “all elements” list, and some legacy names only exist in parsing rules.
  • Links are shared to element indices, the HTML spec, and an HTML-tags memory game; mismatches highlight the ambiguity of “full coverage.”

Semantics, layout, and custom elements

  • Strong advocacy for using semantic elements instead of <div>-heavy layouts and classes, sometimes combined with “classless CSS.”
  • Some propose using custom elements (with hyphens to avoid future conflicts) instead of classes, e.g., <my-product primary>.
  • Others push back that HTML tags should describe content, not layout; flex/grid can be applied to whatever semantic container fits.

Specific elements and quirks

  • <hgroup>: confusion over its status; commenters clarify it was deprecated in a W3C line but retained and later “rehabilitated” in WHATWG, with changed semantics.
  • <ruby> is highlighted as underused but highly useful for East Asian pronunciation (furigana).
  • <dialog>: criticism that calling it “just HTML” is misleading when showModal() JS is used; some note dialogs can open via the open attribute or be combined with the Popover API, but modal behavior still effectively requires JS.
  • Forms: discussion on explicit vs implicit <label>; implicit wrapping avoids id collisions, but explicit labels may work better with some screen readers.

Deprecated/obsolete elements and nostalgia

  • Nostalgic mentions of <marquee>, <blink>, <center>, <xmp>, <plaintext>, “under construction” GIFs.
  • Clarification that some of these were never in any official HTML standard (especially <blink>/<marquee>), or are now fully obsolete, though they may still “work” in browsers.
  • CSS snippets are shared showing how to “revive” blink-like behavior.

HTML vs XHTML and parsing rules

  • Debate about self-closing syntax (<br />, <input />), with reminders that HTML never required the trailing slash; it was a XHTML artifact.
  • One side misses XHTML’s strictness; another argues HTML’s parser is now fully specified and deterministic, whereas XML/XHTML push errors onto users with fatal failures.
  • Explanation that HTML parsing is best understood as a state machine manipulating a stack of open elements, which is why regex/XML parsers are a poor fit.
  • Counterintuitive examples show XHTML can be well-formed yet semantically invalid (e.g., nested <button>), while HTML’s parser rules prevent some invalid DOMs.

Meta resources and reactions

  • Readers share related “every element” posts, classless-CSS collections, and research on tag/attribute frequencies from Common Crawl.
  • Overall tone is enthusiastic: people report learning or rediscovering tags (<progress>, <meter>, <ruby>, <hgroup>), enjoying the creativity, and getting “House of Leaves”–style vibes from the page’s structure.