<strong> or <b>

Makes sense about Safari, since I work on a Mac. I noticed that the IE browsers were fine but I was having problems with my Mac browsers rendering differently, I can’t remember exactly which one, but from what you say, it makes sense that it was Safari. It’s as as though it was pushing the content down by just a few pixels. The only way I figured it out was by using Adobe Browserlab and using the onion skinning. The place where the onion skins were going off was right at the place where I was using the <b>. I replaced it and all was fine.

You have “bold” because not all fonts (I’d maybe dare say MOST fonts) don’t have all those weights at all. Bold == anything 400 and up. However some of the older font absolutely have a 100 weight, a 400 weight, a 600 weight… so CSS was designed to deal with that, but in the real world, means little. But you type one less character so I’m all for it.

That’s what’s funny about it all. <b> is nice and compact. But it violates the separation of content and presentation semantically. To make the the markup semantic you have to take a nice lean tag, and change it to span or strong, then add class names. Even if you are using strong alone it’s more code than just that little <b>.

Personally I set
strong {
font-weight: bold;
}

I’ve been doing this:

strong {
font-family: ‘ProfessionalTypefaceBoldVersion’;
}

I like to deal with fonts with both the semibold and the bold versions, so I can choose which.

I’ve been doing this:

strong {
font-family: ‘ProfessionalTypefaceBoldVersion’;
}

I like to deal with fonts with both the semibold and the bold versions, so I can choose which.

The danger of that would be… if someone had a browser who didn’t default make strong BOLD, then it would look like regular text, unless the user happened to have whatever that font-family was.

I saw this the other day: http://georgiaverdana.com though all the fonts didn’t appear at all my FF3.6 (all scripts on except Google tracking), and they did in Chrome (latest stable/Linux) but scrolling broke all the letters into strange chunks. Imagine if they’d just used Georgia and Verdana for most of the text, and the special ones using @font-face, they would have looked nicer.

Yup, that’s why I only do that if I embed the fonts.

I’m liking that Verdana Pro Condensed . Looks much better to me than the regular old verdana.

Hey, happened to find an article that does the italics-for-names thing:

They use em’s, and I think I disagree with that, because if you were reading this out loud, you would not be emphasising that text at all.

From what I have seen, on W3, the defintion of <em> and <strong> are much simpler than I have heard here and elsewhere:

EM: Indicates emphasis.
STRONG: Indicates stronger emphasis.

Emphasis is simply a level of stress given to a word or words to indicate a higher level of importance than the surrounding text. Visually, whenever you have something set apart from the rest, you are giving it an emphasis, because the eye attracts to that which is different.

So, even if you read the the text out loud and would not actually sound it out that way, VISUALLY, the stress is there, it’s still being emphasized, whether a book, or a phrase, or whatever. But if semantically you disagree, you can always use SPAN.

http://www.w3.org/TR/html4/struct/text.html#edef-EM

i do, but i won’t, thanks just the same :slight_smile:

B is ~way~ more semantic than SPAN as a visual but not necessarily audible cue

i don’t think, ~know~ i do too… i use CITE

:cool:

Well as I understand web semantics, they are intended to describe the content. The reason I maintain that B meaningless is because it does not describe the content. In other words, it does not describe what the content IS, only what it LOOKS LIKE, which is something we in the web profession are trying to get away from in our markup because using visual tags takes away our flexibility.

When you use <B>, what happens when you don’t want the text to be bold anymore? Too bad. It’s in your markup, live with it. The solution is proposed here that you simply edit the CSS to make <B> be whatever you want. To me that is a bad practice, because if you have <b> that is not visually bold, you are still stuck with “bold” in your markup, and you still aren’t indicating what the friggin content IS, only what it looks like. Only now, having edited the <B> to NOT be bold, your markup is lying to you.

i still contend that

<b class=“make-this-appear-bold-visually-but-not-audibly”>vwalah</b>

is a lot better than

<span class=“make-this-appear-bold-visually-but-not-audibly”>vwalah</span>

paraphrasing what someone recently said, “you are still stuck with SPAN in your markup” which in my opinion has a higher “eewwww” factor

Yeah but in doing that, you have misused the point of SPANs and CLASS NAMES. You wouldn’t say “make-this-appear …” Your classnames should describe what the content is. SPAN is neutral in meaning, where the added classname gives the meaning. So rather than name a class visually which is just as bad as using <b>, you do this <span class=“keywords”>. That class name tells you what the content IS, not what it looks like. So you can control what it looks like in the CSS (ie make it bold or italic) and never run into a problem of a conflict with your markup and CSS.

Class names should not be presentational.

i’m not <b class=“word-or-phrase-that-should-stand-out-visually”>misusing</b> the point of class names at all, my class names always describe their content semantically

:smiley: :smiley:

A class name of: “make-this-appear-bold-visually” does not tell what the content is, only what it looks like. If you do that, yes, you might as well use <B>. The whole idea is that if you change your mind on “make this appear bold” and you want “make this appear normal and red” you have a classname of “make this appear bold” when it’s not bold.

My question would be WHAT are you making appear bold? A book title? A keyword? IF THAT is your class name then you can make it be what you want without having to change your markup to reflect. It makes maintenance easier, especially in a redesign.

The problem with using classes is they don’t say ANYTHING – they provide NO information to the user or user agent that the text inside them is ANY different than the text around it… that’s actually what spans are for.

there is also NO standard for class names, so class names are meaningless…

As such


I was reading <span class="bookTitle">Wizards First Rule</span> the other night.

Doesn’t convey anything to the user – especially CSS off – which is something you SHOULD be keeping in mind when writing your markup – part of why I do markup FIRST. That is EXACTLY when the italic tag should be used. You use the more semantic tags when they apply, span when you are NOT implying any extra meaning or conveying anything different… Titles of books or products, algebraic symbols, names of ships, mathematical constants (though you could argue the use of VAR on that one), text that is being de-emphasized instead of emphasized (like in a retracted clause/exemplar text)… These are not things that a SPAN is going to work worth a flying purple fish on. Likewise company names, exemplar titles, and mathematical deviate expressions are bold – they are NOT emhasized and since span means nothing, it shouldn’t be used instead of BOLD.

I – for when text SHOULD BE Italic for a semantic reason we don’t really need fifty different tags for. Book title, ship name, etc…

EM – for when text is receiving emphasis, making it of greater import or stress than the text around it.

B – for when text SHOULD BE bold for a semantic reason we don’t really need fifty different tags for. Company name, exemplar title, non-heading titles (when you already have a semantic section wrapper), etc…

STRONG – for when text is receiving MORE emphasis, making it of greater import than normal text or EM text on the page.

SPAN – for when text is receiving some style or some grouping that is not semantically important and can be ignored by the user agent.

<strong>IS THAT SO MALFING HARD PEOPLE!?!?!</strong> :rofl:

so where would you use CITE then?

When it’s being used as a source for the information presented.

I read <i>Moby Dick</i>.

does not warrant a CITE. I’m not citing ANYTHING! Now, if I was to go…

As <cite>Herman Melville said in <i>Moby Dick</i></cite>, <q>“Of all mortals, some dying men are the most tyrannical; and certainly, since they will shortly trouble us so little for evermore, the poor fellows ought to be indulged.”</q>

CITE is a phrase element for a reason.

… and yes, I’m with the crowd that says quotation marks should be in the markup and NOT added automatically.

Another example I’ve used before involves simply paraphrasing – so no quote is involved but CITE is still semantically correct.

As reported by <a href=“http://www.wmur.com/news/4662061/detail.html”><cite>WMUR News 9</cite></a> in 2006 the police arrested a man for hiding in the tank of a women’s outhouse at a public park in Albany, NH.

Citing the source material of a statement – that’s what CITE is for.

HTML5 has neutered cite (the tag). It’s pretty much useless now (all UAs who have an HTML5 parser will consider any page sent as text/html as HTML5. Hm).

Yeah, titles of works only. Useless.

Class names do convey meaning. That’s the point of them. That’s why people use classes like “header” which, in the markup, conveys “everything within that class is the header.”

So if you decide to re-design your website, you know that to re-style the header, you work within those classes.

You use the more semantic tags when they apply, span when you are NOT implying any extra meaning or conveying anything different…

SPAN is useful for when a tag doesn’t exist that describes the content more specifically. For example <p> is very general. However, what about more specific bodies of text, like I explained, Book Title. There is no element for book titles, so in order to style for a book title, which is not a paragraph in itself, and absent of another tag that does the job, SPAN works perfectly, because you can add the meaning yourself.

That’s why the W3 says: “If you do use them (<b> and <i>), it is usually better to add class attributes that describe the intended meaning of the markup

Titles of books or products, algebraic symbols, names of ships, mathematical constants (though you could argue the use of VAR on that one), text that is being de-emphasized instead of emphasized (like in a retracted clause/exemplar text)… These are not things that a SPAN is going to work worth a flying purple fish on.

You are right. SPAN is useless for the above, only if you do not add class attributes that describe the meaning of the markup. Then it becomes very useful. And I would also add that ANYTHING that is set apart VISUALLY, is of course emphasized. If you put a BOLD on any part of otherwise unbolded text and you think you are de-emphasizing it, you’re totally off the mark on how visual stimulus works.

I – for when text SHOULD BE Italic for a semantic reason we don’t really need fifty different tags for. Book title, ship name, etc…

SHOULD BE, is a matter of opinion, because as we have seen, not every culture shares the same conventions. Regardless of what is grammatically correct, when you use <i> you are introducing a tag which describes a STYLE of TYPE. Therefore, for whatever reason, if you change your mind about the style of type to something NON italic, you are stuck with markup that doesn’t jibe. <em> can be used for any of it. Or SPAN with added class attributes for meaning, especially if you want to create a style for “.deEmphasizedText” . Now you can de-emphasize it any way you want, with italics or whatever else.

To the DEVELOPER for the application of STYLE – they mean absolutely NOTHING to user agents or users in a semantic sense – users in particular since THEY NEVER SEE THEM. There is NO standard of naming conventions for classes, so they apply ZERO SEMANTIC MEANING.

Which means classes from a semantic markup point of view, just like the spans you could apply them to, mean exactly two things – and Jack left town, took his **** with him.

<h2 class=“hasBorder”> does not change the semantic meaning of H2 or add any extra meaning to it.

<b class=“bookTitle”> does not change the semantic meaning of B or add any extra meaning to it.

<div class=“introduction”> does not change the semantic meaning of DIV or add any extra meaning to it.

<span class=“keyword”> does not change the semantic meaning of SPAN or add any extra meaning to it.

To users and user-agents classes mean absolutely nothing, and exist solely as hooks for applying non-semantic style. ANYONE telling you otherwise is packing you so full of sand you could change your name to Sahara.

Oh, and I was referring to the use of <I> for de-emphasis, not bold… <i>(like in a retracted clause or exemplar)</i>

It’s part of why semantics has NOTHING to do with style or actual rendered appearance; and why CSS cannot change the semantic meaning of the tags it’s applied to!!!

The point of class names is NOT to CHANGE the meaning of an element. It is to ADD meaning to the markup by way of a description. <I> FAILS in that. It does not describe the content within, only what typographic style results.

<span class=“keyword”> does not change the semantic meaning of SPAN or add any extra meaning to it.

If the hook is related to the textual content of the page as in “keyword” not the style, as in “red,” then you have flexibility to to make the content within the span whatever you want. It does not change the meaning of SPAN, but adds meaning to the MARKUP insofar as how the styles and the content are related.

The semantic meaning of <i> is “italic” which makes it presentational as a style of typography. It does not mean anything other than “italic”, unless someone reads into the INTENTION of using the tag based on the surrounding text and says “that must be a book title.” In that case that person is not deriving the semantic meaning from <i>.

Why don’t we create tag with classes like <span=“redtext”> because anyone who does that is missing the point of semantics. Same with <i>. That is why the W3 recommends: “If you do use them (<b> and <i>), it is usually better to add class attributes that describe the intended meaning of the markup”

Why is that? Well… because <i> doesn’t give you any other meaning than “italic.”

What’s interesting about this conversation is how much you talk against HTML 5 and their relaxing of standards, yet you are adopting their CHANGE of meaning from HTML 4.01 to HTML 5, where in HTML 4.01 <i> was strictly a font tag, and now in HTML 5, they have changed the meaning. It looks like you are embracing HTML 5 after all, at least in that respect.

HTML 5 spec re-defining <i> as offset text, rather than doing the right thing and snuffing it out along with <font> really is one of the stupidest things I have heard of. Why? Because whether offset text should be italic or not is up to the stylesheet, NOT the markup. If you need a tag that indicates offset text then recommend a tag <offset> but don’t pretend that italics is the only way to do that. Emperor has no clothes. But, hey, if you adopt HTML 5, go for it. I won’t use <i> myself, but that’s just me. Do what you want.

I just think it’s ironic that you seem to loathe HTML 5 except in this sense.