There was a period when “HTML5” appeared on conference slides, job postings, and — memorably — a shiny orange badge you were encouraged to paste on your homepage. Much of it was malarkey: the term got stretched to cover CSS3, JavaScript APIs, WebSockets, and roughly anything invented after 2008. Let us do the unglamorous work of separating signal from noise.
A good deal of what was sold as HTML5 was never HTML at all:
None of this was bad technology. The malarkey was the packaging — a single buzzword doing the work of an entire platform, which left everyone vaguely confident and precisely uninformed.
Underneath the froth, the actual HTML additions were solid and have aged well:
<article>, <nav>, <main>, and friends, giving structure to machines.<video> and <audio> with captions, ending the plugin era.When someone calls a feature “HTML5,” ask where it actually lives. If you can write it as a tag or attribute in a document, it is HTML:
<video controls src="talk.mp4"></video> <!-- HTML -->
<input type="email" required> <!-- HTML -->
navigator.geolocation.getCurrentPosition() // JS API
.card { border-radius: 12px; } /* CSS */
The word “HTML5” is a useful umbrella and a terrible spec. Reach for it in conversation; never reach for it when you actually need to know what a feature is.
Precision is not snobbery here — it is debuggable knowledge. If you know that your rounded corners are CSS and your offline behavior is a service worker, you know where to look when either breaks. “HTML5” as a catch-all tells you nothing about the failure in front of you. Keep the enthusiasm; drop the umbrella term the moment real work begins.