I get the general impression that programmers that write Semantic CSS, etc are paid by lines of code and completely forget about Don't Repeat Yourself (DRY) Principle.
Which gives me the impression that you don't understand any of the advantages of semantic markup and separation of concerns, much less what's wrong with idiocy like tailwind since by it's very nature it repeats itself mindlessly and idiotically.
For example: Tailwind idiocy of gibberish non-semantic dumbass repetition of presentational classes -- defeating the entire reason HTML and CSS are separate and dragging things back to the worst of 1990's practices:
<nav class="font-sans flex flex-col text-center content-center sm:flex-row sm:text-left sm:justify-between py-2 px-6 bg-white shadow sm:items-baseline w-full">
<div class="mb-2 sm:mb-0 inner">
<a href="/home" class="text-2xl no-underline text-grey-darkest hover:text-blue-dark font-sans font-bold">LogoText</a><br>
<span class="text-xs text-grey-dark">Beautiful New Tagline</span>
<div class="sm:mb-0 self-center">
<div class="h-10" style="display: table-cell, vertical-align: middle;">
<a href="#" class="text-md no-underline text-black hover:text-blue-dark ml-2 px-1">Link1</a>
<a href="#" class="text-md no-underline text-grey-darker hover:text-blue-dark ml-2 px-1">Link2</a>
<a href="/two" class="text-lg no-underline text-grey-darkest hover:text-blue-dark ml-2">About Us</a>
<a href="#" class="text-md no-underline text-grey-darker hover:text-blue-dark ml-2 px-1">Link3</a>
vs. clean accessible semantic markup that would be used to do the same job.
<small>Beautiful New Tagline</small>
But sure the people leveraging semantic markup are the ones mindlessly repeating themselves, not the people who insist on saying the same class over and over again on every freaking like-child. Sure, keep telling yourself that saying class="text-md no-underline text-black hover:text-blue-dark ml-2 px-1" for each and every joe-blasted menu item is actually not repeating oneself.
If you're saying stuff like that in the markup, you really have ZERO huffing business making websites!
. As I've said many the time, monument to the 3i of web development; Ignorange, incompetence, ineptitude, and idiocy. Oh wait, that's 4... ok, the 4i
Three Letter Acronyms are far more efficient.
And again with the cryptic nonsensical bullshit that takes a steaming dump on any attempt at collaboration, that nobody but YOU can even understand. So useful... NOT! But that too goes hand-in-hand with the bad practice of just pissing endless pointless presentational classes on things in utter ignorance of accessibility, separation of concerns, or efficiency of code.
You know what's more effective than your precious dumbass TLA's? Meaningful names that describe what things are, and not slopping endless pointless cryptic classes in where you shouldn't even have classes in the first bloody place!But sure, people leveraging semantics are the ones repeating themselves and writing more code. Of course they are.
Try the footer validation links - it is even Google Mobile Friendly
That are a waste of bandwidth, waste of space since the end user doesn't give a shit, replicates functionality you can and should add to the browser, and that you take as the gospel even though without ANY version tracking what was valid yesterday is invalid today, and what's valid today will be invalid tomorrow thanks to HTML 5 pissing on "validation" from so on high you'd think the almighty just got back from a kegger.
Mind you, I'm not saying don't validate, it can find simple errors like typos and missing closing tags. But don't take every single blasted bit of idiotic "warnings" and recent hurr-durrz changes as the gospel. Thanks to HTML 5 being this willy-nilly ever-changing inconsistent shit-show of "design by comittee", a lot of things we need for compatibility and accessibility have their validity status change every blasted time the wind blows.
See such mind-numbing derpitude as the tbody/tfoot order, the mere presence of target="", browser specific meta like X-UA only being able to contain values they approve of despite browser specific values supposedly being explicitly rejected from W3C specs, etc, etc, etc. If I need to set X-UA to IE9/earlier so I get CC's back, the W3C can go plow themselves with their "you can only declare edge" bullshit!