Disclaimer: This text might contain ironic passages.
Disclaimer 2: This might have or not have something to do with this post and its comments.
The web platform is amazing. It’s something that grew and evolved over the years. Generally thats a good thing™.
Nevertheless the notion of what might be a good vs. a bad API changes. Back in 1989 Tim Berners Lee created the Internet. He choose SGML and created HTML as an application of that to mark up documents of text. Life was simple back then.
In the 90s* – cause they felt real fancy – people wanted to control how texts were put on screen. Bold, italic, blinking and scrolling text was the shit. Thus your favorite HTML rendering software** would interpret
<marquee> elements as such. Years later people discovered that they really only need a subset of those: blink and marquee got scrapped.
Next the „semantic“ web was discovered. Those poor HTML elements now not only described how to display their contents. No. Nowadays the element also conveys its contents meaning. <
address> for example contains an actual postal address. Your browser can parse that information in a meaningful way (and send you a parcel?).
But wait. What about
<em>? How are they different to
The strong element represents a span of text with strong importance.
The b element represents a span of text offset from its surrounding content without conveying any extra emphasis or importance, and for which the conventional typographic presentation is bold text; for example, keywords in a document abstract, or product names in a review.
The em element represents a span of text with emphatic stress.
The i element represents a span of text offset from its surrounding content without conveying any extra emphasis or importance, and for which the conventional typographic presentation is italic text; for example, a taxonomic designation, a technical term, an idiomatic phrase from another language, a thought, or a ship name.
– w3c html reference
Every browsers that adheres to the HTML(5) spec displays b and strong the exact same way. The same goes for i and em. Where is the difference?
Does this minimal difference in semantics really justify two completely new elements? Is there a difference between something being important and something that is not important but is displayed in a way that suggests it is? Is there a difference between emphasized and therefore italic and just plain italic text?
I dare say no.
Are we wrong? You could help us to become wiser by joining our team. We’re hiring! Check out the facebook post mentioned above. 😉
* that’s a decade in which Captain Jack and Mr. President were considered musicians
*** 6, 13, true