MDN’s rogue definitions of <b> and <i>

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 and i 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

Leave a Reply