What is the need to reset bold <b> or italic <i> HTML tags?

Following a question I just asked, what is the need for a reset.css to cancel the effect of bold <b> or italic tags <i>? What is this good for? What issue does it solve? What would be wrong with using <b> in HTML?

I am asking this question, because I am using a delivered reset.css and I want to get rid of this normalization. But is this safe? Is there a corner case I am missing?

Upvotes: 2

Views: 2045

Answers (2)

Jukka K. Korpela
Jukka K. Korpela

Reputation: 201548

There is no good reason. In general, reset.css is advertized as eliminating browser inconsistencies. It might also be said to remove unexpected default styling, such as some odd browser possibly using top and bottom padding (instead of top and bottom margin) on headings, so that when your style sheet tries to specify vertical spacing around heading, the effects aren’t what you expected.

None of this applies to canceling the bolding of b and the italics of i. There is nothing unexpected with such rendering; it is part of the meaning of the tags, and it is consistently applied by all browsers that can do bolding and italics in the first place. The only reason for resetting this would be an intent of defeating the intentions of the document’s author. The ideological principle “presentational markup is bad” might explain this; Erix Meyer’s original article on CSS reset seems to allude to that: he appears to want to think that no markup as such has any impact on rendering but the author must style everything.

Upvotes: 3

j08691
j08691

Reputation: 207901

The <b> and <i> tags make the text appear bold and italic respectively, but semantically they are classed as presentational tags, therefore the effect would be best replicated with the CSS styles of font-weight and font-style. If the passage of text suggests areas of importance, they should be highlighted with the <strong> or <em> tags, which basically do the same job as <b> and <i>, but also make the world a nicer place. In other words, it has to do with the semantics of the underlying code which also affects, among other things, screen readers.

Upvotes: 3

Related Questions