While the <b> tag has its place in some scenarios, I use <strong> tag for the most part. Which tag do you prefer, and why?
I go back and forth on this one. In a form, I often want the labels to be in bold type. But not always. When I do, I prefer <b> because it purely about visual style, not semantics.
If I were writing a blog post, I'd say <strong> but most of the time, my application is more about visual style than any sort of special thing for screen readers. Still, though, I tend to use <strong> because it accomplishes both.
The one that baffles me is using <i> for glyphs (e.g. fontawesome). Why? I mean, I do it because the examples show that's how it's done (i.e. <i class="fa fa-trash"></i>). But why <i>? Why not <span>? <span> will work just fine, but I'm curious why authors of Twitter Bootstrap and Font Awesome chose the <i> tag. Good grief... Font Awesome even has accessibility attributes on the <i> tag! That just seems... wrong.
I prefer STRONG because it's the meaningful option. It's not that STRONG/B is the most important thing in the world, but it is the test question to see if you are using semantic markup. The core test of your markup: does it make sense with all CSS disabled? It should be readable, at least.
This question is about Semantic HTML. Especially screenreaders (but also any other HTML interpreter) need to know what you want to achieve with a certain tag, hence it is important to be as specific as you can. <b> is not specific. It will just style something in bold. Is it important? How should it be pronounced? No one knows. That's why you should settle for tags, like <strong> and <em> instead. They tell an HTML interpreter more about the meaning of the text. <b> should only be used for purely asthetic purposes. At the same time, CSS should be used to style HTML instead of HTML or inline-CSS (style=""). So in my opinion, <b>, <i> and <u> are very good examples of tags which should be deprecated and never used anymore.
If you know OpenGL, it is very compareable. You can use glLightfv() in order to add a light to the scene. This function is deprecated, but will still work (if you do not set CORE profile). In todays day and age, we have shaders to generate beautiful light and shadows and other corresponding effects which are more performant (and look a lot better) than that function. But there are tutorials and examples which still rely on the old function, so Khronos does not remove it completely (or forbids its use) for backward compatibility.
I think this stackoverflow answer can bring some light
The right answer is "CSS".
It is deprecated to use html-tags only for style purposes.
<b></b> is generaly obsolete and <strong></strong> is used to mark "important text" in HTML5.
Patrick Black
JavaScript Developer
The <strong> tag makes it compatible with text readers for the visually impaired.