1 min

optgroup

A select with 40 options in it is nearly always a select that wanted three or four labeled groups, and the element for that has been sitting in HTML the entire time.

HTML Forms Small Print
6 min

BEM and the long class name

A naming convention is a bet that the next person reads class names before they read CSS, and the ugly double underscores are paying for something real, which is not having to know the whole stylesheet just to change one thing.

CSS
6 min

The 400 KB hero

Every conversation about page weight goes straight to minification. Meanwhile there is a 2 MB image on the page that nobody has opened since Photoshop.

HTML Images Performance
2 min

abbr and the title attribute

The abbreviation element is one of about four places in HTML where the title attribute is the actual content rather than a decoration, and it is still unreachable for anybody not holding a mouse.

HTML Accessibility Small Print
6 min

Everything is a div

Div soup is what you write before you learn what the other hundred elements are for. The argument for fixing it isn't screenreaders or SEO, it's the next person who opens the file.

HTML Cross-Browser Compatibility