Skip to content

HTML Living Standard · 2026 edition

Every HTML feature,
beautifully unleashed.

A living, interactive tour of the web platform — semantic text, native forms, media, <dialog>, popovers, web components, canvas, SVG, MathML and the browser APIs that make them sing.

Start the tour →

Built with the platform

This popover uses the native popover attribute — no JavaScript. Press Esc or click outside to dismiss.

Elements
0+
Input types
0
Live demos
0+
Frameworks
0

01 · Semantics & Text

Words with meaning

Semantic elements tell browsers, search engines and assistive tech what your content is, not just how it looks.

inline Text-level semantics

  • <strong> importance · <em> stress · b · i · u
  • <mark> highlights · <small> fine print · <s> no longer accurate
  • HTML via <abbr> · <dfn> definition
  • H2O · E = mc2 · The Cite Element
  • Press Ctrl + K · <samp> output · x = <code>
  • Edits: removed text inserted text
  • An inline quotation with <q>
  • Published · Product #398
  • إيان scored 90 · bdo reverses this
  • Super­cali­fragi­listicexpi­ali­docious with <wbr> & &shy;
  • 漢(kan)字(ji) — ruby annotations

block Quotes & preformatted

“The power of the Web is in its universality. Access by everyone regardless of disability is an essential aspect.”
— Tim Berners-Lee, W3C

  ╔══════════════════╗
  ║  <pre> keeps     ║
  ║  w h i t e       ║
  ║  space intact    ║
  ╚══════════════════╝

lists Lists of every flavour

  • Unordered
  • Bulleted
    • Nested
  1. Reversed
  2. Ordered
  3. Lift-off!
  1. Roman
  2. Numerals
  • ⌘ <menu>
  • ⚡ toolbar
  • <dl>
    Description list
    <dt>
    The term
    <dd>
    Its description

    layout Document outline

    A semantic page skeleton — hover any landmark.

    <header> + <nav>
    <aside>
    <main>
    <article> → <section> → <hgroup>
    <figure> + <figcaption>
    <footer> + <address>

    a11y Headings

    Contact via <address>: hello@example.com

    02 · Forms

    Native forms, zero libraries

    22 input types, built-in validation, :user-invalid styling, <datalist>, <output> and <meter>.

    text Identity
    pickers Pickers

    Hex: #a855f7

    choice Choices

    Form submitted 🎉

    Collected with new FormData(form):

    
                
              

    03 · Media & Embeds

    Pixels, sound & motion

    Responsive images with <picture>, captioned video, audio, the Web Audio API and sandboxed iframes.

    video <video> + <track> captions

    CC0 footage from MDN · WebVTT captions served locally · playsinline muted loop

    audio Sound

    Web Audio API synth — tap the keys:

    picture Art direction

    Abstract neon mountains under a gradient sky
    Different sources by viewport & colour scheme. loading="lazy"

    map Image map

    Three planets; click one Violet planet Cyan planet Pink planet
    <map> + <area> clickable regions (hover for titles).

    iframe Sandboxed iframe

    srcdoc + sandbox: runs scripts, can't touch this page.

    04 · Interactive Elements

    Interactivity, built in

    Dialogs, popovers, disclosure widgets, drag & drop, templates and editable content — mostly without a line of JS.

    dialog Modal dialog

    Focus-trapped, Esc to close, animated with @starting-style.

    returnValue: —

    🚀

    Launch the rocket?

    This dialog uses <form method="dialog">; each button sets the dialog's returnValue.

    popover Popover API

    Top-layer, light-dismiss and zero JavaScript via popovertarget.

    popover="auto"

    Click anywhere outside or press Esc to dismiss me.

    popover="manual"

    I stay until explicitly closed.

    details Exclusive accordion

    What is name on details?

    Details sharing a name form an exclusive group — opening one closes the others.

    Does it animate?

    Yes — via ::details-content and interpolate-size.

    Is it accessible?

    Fully keyboard operable and announced as a disclosure widget.

    progress Progress & meter

    Upload0%
    0%
    Indeterminate
    Disk usage (meter)82%
    82%

    drag Native drag & drop

    To do

    🎨 Design
    🧪 Test

    Done

    🚢 Ship

    template <template> cloning

      contenteditable Editable & persisted

      Click and type here! This block uses contenteditable. Try Ctrl+B for bold. Changes are auto-saved to localStorage and survive reloads.

      Nothing saved yet.

      inert inert & hidden

      hidden="until-found" — try Ctrl+F for “easter egg”:

      05 · Tables

      Tabular data, properly

      <caption>, <colgroup>, <thead>/<tfoot>, scope and aria-sort. Click a header to sort.

      Browser support for flagship HTML features (illustrative, first stable version).
      Feature Chrome Firefox Safari Year
      <dialog>379815.42022
      Popover API114125172024
      Exclusive <details name>12013017.22024
      <search>118118172023
      Declarative Shadow DOM11112316.42024
      View Transitions111144182025
      hidden="until-found"102139262025
      Features listed7

      06 · Graphics & Math

      Draw anything, natively

      Immediate-mode <canvas>, declarative inline <svg> with SMIL animation, and <math> (MathML Core).

      canvas Interactive particle field

      Move your pointer through the network — 2D context, ResizeObserver, HiDPI aware.

      svg Inline SVG

      Animated gradient orbit <svg> + SMIL
      Gradients, filters, animateMotion.

      math MathML Core

      x= −b±b2−4ac 2a eiπ+1=0 ∫−∞∞ e−x2 dx=π

      07 · Web Components

      Your own HTML elements

      Custom Elements, Shadow DOM, <slot>, ::part and Declarative Shadow DOM — reusable, encapsulated, framework-free.

      <glow-card hue="280">

      Shadow DOM styles with a @property-animated conic border. Content projected via named & default slots.

      <glow-card hue="180">

      Same element, different attribute → attributeChangedCallback updates the hue.

      Live clock & counter

      --:--:--

      shadowrootmode Declarative Shadow DOM

      Server-rendered shadow root — no JavaScript needed. The p rule inside can't leak out.
      <div>
        <template shadowrootmode="open">
          <style>p { color: hotpink }</style>
          <p>Encapsulated</p><slot></slot>
        </template>
        Light DOM content
      </div>

      08 · Browser APIs

      The platform, live-detected

      What your browser supports right now, plus a few APIs you can try.

      detect Feature support in your browser

      • Enable JavaScript to run feature detection.

      try Try them

      Result: —

      Keyboard shortcuts

      • / focus feature filter
      • T toggle theme (View Transition)
      • Tab skip link & focus rings
      Download OG image (download attr)

      head Under the hood

      Meta & SEO

      theme-color per scheme, Open Graph, JSON-LD structured data.

      Performance

      preconnect, lazy loading, decoding="async", module scripts.

      Accessibility

      Skip link, landmarks, aria-live, reduced-motion support.

      Modern CSS

      oklch, :has(), :user-invalid, scroll-driven animation, @starting-style.