Eh, it's fine, elements should be defined for what they mean, not what they look like. The explanation and distinctions made between <b> and other elements (<i>, <em>, <strong>) make sense.
The suggested (not obligatory) user agent styling for <b> is `font-weight: bolder` an agent or authors could use lots of different things to bring attention to what the element contains and treat it differently from <strong>.
The entire purpose of an element like <b> is what it looks like. If we're being inclusive, then the entire purpose of an element like <b> is what it looks like, how it sounds, how it feels in Braille, and so on. Nothing more. It does not map to some abstract concept.
It should be defined as: When rendered on a visual display device supporting bold font, it makes the text bold. The specific behavior is not guaranteed and may vary based on the user-agent. For example, screen readers will pronounce the text with emphasis.
The entire purpose of <b> was what it looked like. They changed its definition to not be about what it looked like but why an author might make it look that way, i.e. to bring attention to it. The representation flows from the motivation, there's no need to embed a look in the definition.
In practice today, that's fine. Typically authors have a hard time differentiating what "emphasis," "importance," and "bring attention to" mean to them. Therefore, nothing conveys a distinction by default.
So then what's the point of making this distinction? I would like to see surveys of how many people actually author content in forms that differentiate between b and strong.
Because the elements already exist. When the elements were invented and defined, CSS didn't exist and authors had to use elements to make presentational changes.
When HTML5 was defined, CSS was well established and it was an opportunity to update element descriptions to get rid of specific presentational qualities.
There are lots of elements, if you don't find some of them useful, don't use them. Other people may find uses for the distinctions; even if they use distinctive styling for them all, they may need to document why they're used, not just for all the authors but for the audience as well; clearly we can't expect developers to know what all the elements are for so that's doubly true for the audience.
Personally I think we should declare that b and strong mean the same thing, and that i and em mean the same thing. As the other commenter points out, there's no real semantic difference between "bring attention to" and "emphasize".
What, you don't know what's the difference between "emphasis" and "bringing attention to"? Shame on you, shame on you: you're unworthy to write HTML.
The difference, of course, is that one is a Latin word, and the other is an English phrase with the same meaning. But they're different words, so different tags. It's all completely rational and logical, and if you don't see the logic and/or reason, well: you're unworthy to write HTML. See Figure 1.
P.S. I love this ancient "see figure 1" meme. It's originated in the early 80s, and still as relevant as ever, and probably will be forever.
Please stop submitting SPR's. This is our system. We designed
it, we built it, and we use it more than you do. If there are some
features you think might be missing, if the system isn't as effective
as you think it could be, TOUGH! Give it back, we don't need you.
See figure 1.
---------------------------
! - !
! { } !
! | | !
! | | !
! .-.! !.-. !
! .-! ! ! !.-. !
! ! ! ! ; !
! \ ; !
! \ ; !
! ! : !
! ! | !
! | | !
! !
---------------------------
Figure 1.
Some phrases have stuck with me, like “mandatory defaults“, “they told their users to see figure 1 a long time ago” and the flippant “sometimes we blow it though”.
The suggested (not obligatory) user agent styling for <b> is `font-weight: bolder` an agent or authors could use lots of different things to bring attention to what the element contains and treat it differently from <strong>.
https://html.spec.whatwg.org/multipage/text-level-semantics....
https://html.spec.whatwg.org/multipage/rendering.html#phrasi...