In component-driven development, it's easy to lose track of the foundation.
When writing plain HTML, semantic structure feels natural — headings, landmarks, lists. Everything has its place.
But then we reach for React, Angular, Vue, Svelte — tools that accelerate everything. And suddenly the conversation shifts: components, props, state, lifecycle, styling.
The HTML? It becomes an implementation detail. And <div> becomes the default answer for everything.
This isn't a criticism of frameworks — they're powerful and necessary. It's about a habit that quietly forms: we optimize for the framework, and forget the foundation.
And when we forget the foundation, the people who depend on it the most pay the price.
What's your experience with this? Do you think about semantic HTML when building components?