Another advantage of semantic HTML is that CSS selectors make a lot more sense. For instance, article section h2 is both legible and abstract-enough to specifically style every heading of every section within an article—leaving all other headings alone, and without requiring a single ID or class!
article section h2
That is a great point as well. Having those semantic names instead of having a vague class name definitely helps the CSS readability as well.
How often do you actually target elements in CSS using tag name though? With a content heavy website or a blog I can see that, but as soon as your application gets more complex you're going to want to use class names anyway to keep your CSS flat and stay out of specificity hell.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.