<strong> vs <b>?

I am new to web designing. Struggling with basics.
Does the two tags <strong> and <b> do the same thing?
What is the difference between these?
Also does changing uppercase to lowercase of an html doc change it to xhtml?

<strong> and <b> are for different things, <strong> is for adding emphasis on text content and <b> is for making text content bold.

No, using lowercase markup does not make it XHTML. This is determined by the doctype being used as well as the way the markup is written. One of the requirements of XHTML is that the markup be written in lowercase.

Though it should be noted that you cannot use real XHTML, as IE does not support it. Thus you have to serve it as text/html making it HTML, so you might as well stick to declaring the doc as HTML 4.01.

I am sure smarter members than I can elaborate more accurately than I can! :slight_smile:

The only time the <b> tag is semantically correct is where you are discussing typographics and specifically mention text being displayed in bold or where you are discussing some other field where bold text has a specific meaning to those involved in that field without your having to explain to readers what the bold means.

<strong> may display as bold text in some browsers as its semantic meaning is to apply strong emphasis to the content and some browsers do that by making the content bold. Browsers do not have to do that - you could set your browser to apply strong emphasis by making the content red instead of bold and screen readers apply the emphasis in the way they say the content.

they are kinda the same… just browsers rendering differently.

No they are not - they have entirely different uses and meanings - all they have in common is that browsers often render them the same.

You have it completely backwards.

Isn’t the use of <b> depreciated anyway?

No. Nor will it be deprecated/obsoleted in html5. There was a long discussion on the html5 WG mail list on this. The b element has context derived meaning due to typographic convention, as does the i element.



Yes … in about the same way that oranges and wingnuts are kinda the same. :rolleyes:

I have found this

<strong> - Strictly a structure element.
If you want text to be spoken with strong emphasis using a speech reader, then wrap it in <strong></strong>.

<b> - Strictly a presentational element.
If you want text to be bold and not have any real semantic meaning, then wrap it in <b></b>.

That is wrong as you should always use the semantically correct element and leave presentation to the CSS.

There are instances where <b> DOES have a semantic meaning and its use should be reserved for those instances.

If you want text to be bold without any real semantic meaning then the correct tag to use that conveys exactly that is <span style=“font-weight:bold”>. The <span> has no semantic meaning and the presentation is handled by the CSS as it should be.

If <b> were strictly a presentational element then it would have been deprecated in HTML 4.

AWESOME information in this thread. Thanks. I had no clue that they were different. I thought that one was replacing the other.

B Tags: bold visual effects. Itself does not have the HTML semantics.

Strong tags: bold visual effects. HTML semantics is stressed that the emphasis on tone, heavier.

From the SEO point of view, between the two is not easy to define. I once read an article is to use b and the strong do a test, The same two articles, one with b do title tags, one with the strong, as the title tag. The final test results is strong to do the title of the article ranked front.

Read the above thread. It does have a semantic meaning relating to typography. You should always use the most appropriate semantic tag. HTML tags have no effect whatever on SEO apart from where they help the search engine to understand what the content means.

Wow, that was some great information. I thought <b></b> was just strictly presentational however it looks like I was wrong and The Build Your Own Website The Right Way Book where I am sure it says it’s presentational and shouldn’t be used.

I know it has been said already but don’t use <strong></strong> to make your text bold use it to add a forceful tone to it when read.

All the strictly presentational tags were deprecated (flagged as obsolete) in HTML 4. <b> and <i> are not deprecated because they do have a semantic meaning. They are probably the most misused tags in HTML though (even more so than tables).

<b> should not be used as a presentational tag to make text bold when the intention is to apply emphasis to the content. It should only be used where the content is specifically meant to be bold because being bold has a semantic meaning. Generally unless you are writing about typography or some topic where bold text has acquired a specific meaning then you shouldn’t be using it.