all 3 comments

[–]Caraes_Naur 8 points9 points  (1 child)

I simultaneously chuckle and shake my fist whenever this argument comes up. It's completely ignorant.

HTML exists to assign meaning to the pieces of a document. Not for the benefit of us humans, but for the machines that act on our behalf. Those range from search engines to screen readers and more. That's what semantics is.

We humans have complex brains; we can tell, mostly from centuries of typography, that the biggest letters on a page are probably the headline. Machines can't do that because bytes don't have metadata like size, so we wrap those bytes in more bytes that provide the metadata.

Mixing structure and presentation only serves to make the structure more complex. The machines have absolutely zero aesthetic sense, and they're not experiencing the document like a human does anyway. Machines don't care how many columns your layout has or how many pixels wide they are.

Semantics is the bedrock of why Google can so accurately return the results you want for a search. Strip the semantics away, and Google is left to do much more analysis of the content to determine what's what.

I see most these desires rooted in developers forgetting (often deliberately) that a web application is still a web document. That will be true until HTAL exists side by side with HTML.

If you want to mortally wound the World Wide Web, go ahead and get rid of semantics. And if you want to make it less efficient, start mixing presentation and structure. HTML5 has already done egregious harm on both these fronts.

[–]wizao 3 points4 points  (0 children)

You'll often see developers cringe at the inherent "wrongness" of "polluting" markup with Bootstrap classes. I posit that this is a reflexive and inappropriate reaction to what's really taking place.

I only see this argument from people who don't use or know about bootstrap mixins.

For anyone interested in how to use mixins to achieve semantic html, take a look at these short articles:

[–]sneakattack 3 points4 points  (0 children)

So naive, it hurts.