We avoid using divs
and spans
and try to choose more meaningful HTML elements instead. If unsure which element to use this list by MDN can be of help.
Why?
- semantic markup is crucial for accessibility
- it makes the code more readable for other developers
- it benefits our SEO
For more background see this article.
This doesn’t mean you can’t ever use a div
– just think twice before you do!
HTML is used to structure content on the page and should therefore reflect its complexity. Not more and not less. Most content does not require deep nesting of HTML elements – if you find yourself wrapping container
around container
or adding an element just to correctly position another element on the page this calls for the use of CSS instead!
Why?
- deep nesting makes it hard to understand, style and maintain components
- it can lead to performance issues
For a deeper dive into the WHY and HOW have a look at the following resources: