One thing I consistently dislike in these efforts is the misappropriation of HTML tags with certain semantics.<p>In this instance, the <article> elements should not be articles: they’re not complete, standalone items. To be sure, as <a href="https://html.spec.whatwg.org/multipage/sections.html#article-or-section" rel="nofollow">https://html.spec.whatwg.org/multipage/sections.html#article...</a> says, there’s subjectivity in deciding whether to use <section> or <article>, but I’m content to say that <article> is wrong here.<p>(Last time I looked into one of these classless CSS starter files, it was <aside> being used for cards, which was <i>very</i> wrong.)<p>In a case like this, I’d prefer the inner elements to be <section> or <div>. Or better still, just start using custom element names which are perfectly valid, e.g. <grid-card>. There, no class. I will permit you to claim that that’s cheating and avoiding the point of classlessness; I don’t mind.<p>But the big pitfall of trying to go fully classless (if you interpret that as also meaning you can’t use your own custom element names) is when HTML just <i>doesn’t have</i> tags for the semantic concepts you’re trying to express. You want a quote, table numbered list? Yeah, we’ve got tags for those things, go knock yourself out. But you want a card? <i>Here, have an article within a section.</i> … what? That ain’t semantic. How’s an author supposed to guess that those tags will present like <i>that</i>? That’s what classes or autonomous custom elements are good for, indicating <i>intent</i>.