From 1993 through roughly 2008, the
<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
The emphasis on both (a) semantic HTML and (b) backwards compatibility means that, as stated by the W3C themselves:
ielements 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