typestar

Languages

HTML

The most forgiving format ever designed, and the reason the web still works.

First released
1991
Created by
Tim Berners-Lee, at CERN
Typing
A markup language, not a programming language
File extensions
.html, .htm

What it is for

HTML describes what a document means. Not what it looks like, which is CSS, and not what it does, which is JavaScript. A heading is a heading, a list is a list, a button is a button. Getting those choices right is most of what separates a page that works for everyone from a page that works for people with a mouse and a large screen.

That semantic layer is what accessibility is built on. A screen reader, a search crawler and a reader-mode button are all reading the same structure, and all of them do better with a real <nav> and <button> than with a div and a click handler. The platform gives away a surprising amount for free too: form validation, date pickers, native dialogs, lazy-loaded images, details and summary. Accessible by default, and routinely reimplemented worse.

Then there is error tolerance. HTML never fails to parse. Browsers recover from anything, because early web authors were not programmers and the format had to survive them. That decision made the web spreadable, and it makes HTML uniquely unpunishing to learn.

Where it came from

Tim Berners-Lee proposed the web at CERN in 1989 and had HTML, HTTP and the first browser working by 1991. The original tag set was tiny and borrowed its syntax from SGML. The anchor tag, the hyperlink, was the whole idea.

The browser wars of the mid-1990s added tags faster than anyone could standardize them. HTML 4.01 arrived in 1999, followed by a long detour into XHTML, which tried to impose XML's strictness on a format whose tolerance was its main virtue. Authors did not comply and browsers could not enforce it.

The WHATWG formed in 2004 out of frustration with that direction. Its HTML5 work brought semantic sectioning, video and audio, canvas and real form controls, and the W3C adopted it in 2014. Since 2019 the WHATWG Living Standard has been the single specification. No numbered versions any more, just whatever browsers currently implement.

What it is like to type

HTML is angle brackets and quotation marks, over and over. Every element opens and closes, attributes come in name="value" pairs, and nesting makes the indentation grow fast. It is the best drill there is for the shifted punctuation your fingers usually avoid.

Practice HTML

104 steps across 5 tours, from the basics to complete programs.

The tours

Official documentation

Other languages