In component-driven development, it's easy to lose track of the foundation.
When writing plain HTML, semantic structure feels natural. Headings, landmarks and lists all have their place.
Then we reach for React, Angular, Vue or Svelte, tools that speed everything up, and the conversation moves to components, props, state, lifecycle and styling.
The HTML becomes an implementation detail, and <div> becomes the default answer for everything.
Frameworks are powerful and I use them every day. The problem is a habit that forms while we use them: we optimize for the framework and forget the foundation.
When we forget the foundation, the people who depend on it most pay the price.
What's your experience with this? Do you think about semantic HTML when building components?