From 1993 through roughly 2008, the <b>
and <i>
tags in HTML meant “bold” and “italic,” respectively. Using those tags will still, in 2023, cause most (all?) browsers to render text with either a bold font weight or an italic font style, but the tags no longer “mean” that. It’s now more correct to consider it a coincidence that browsers represent <b>
as Bold and <i>
as Italic; they may just as well be <y>
and <r>
.
The emphasis on both (a) semantic HTML and (b) backwards compatibility means that, as stated by the W3C themselves:
The
b
andi
elements are widely used — it is better to give them good default rendering for various media including aural than to try to ban them.
So: What to do with those letters? <b>
can’t mean “bold,” and <i>
can’t mean “italic.” What do they mean?
A few years back I noticed that MDN reported that the “b” in the <b>
tag stood for “bring attention to,” and the <i>
for “important.” Naturally, I checked the spec itself. Neither the W3C nor the WHATWG specs made mention of “bring attention to” or “important.”
I tweeted about this to Eric Shepherd, who — because MDN used to be a proper wiki with page edit history1 — I could see had been the one to add the text about “bring attention to” to the <b>
article on MDN. He responded:
MDN still defines <b>
as “bring attention to,” though it has changed its definition of <i>
from “important” to “idiomatic.” These terms are still unique to MDN, nowhere to be found in the W3C spec. It’s a shame, because up until this discovery I had assumed — as I believe many people still assume — that MDN is nearly as canonical as it gets. It remains a tremendous resource, but just be sure to double-check with the W3C on its finer details.
1 It’s now hosted on GitHub, where its history is also visible, but only as far back as when it moved from a wiki to GitHub. It’s also evidently opted out of the Wayback Machine