Sì. Consigli decisamente validi. Le classi CSS, per la maggior parte, non dovrebbero essere legate direttamente a ciò che sembrano. Legali invece a ciò che intendono.
Se stai utilizzando .blue
per fornire enfasi, e la progettazione del tuo sito cambia in modo tale che tu non voglia più che l'enfasi sia blu, allora hai una disconnessione tra la visualizzazione dell'elemento e il nome della classe.
Se, invece, hai usato .emphasize
, potresti cambiare il colore nel CSS e l'attributo HTML sarebbe comunque significativo. Puoi ottenere la modifica senza dover toccare l'HTML (o, in questo caso, puoi modificare il tag em
e ottenere una semantica persino migliore nell'HTML).
Inoltre, rende il tuo CSS più leggibile. Quando cambi .blue
, non è ovvio quali elementi della tua pagina stai modificando. Ma se stai modificando .emphasize
o .pull-quote
, puoi immediatamente dire.
Ci sono casi in cui i nomi di classi non semantiche sono inevitabili, ma questo è soprattutto quando si crea un layout generico. Cose come column
o column-left
o half
o third
sono necessarie nei layout basati su griglia.
Quindi, la mia opinione è che il layout non ha bisogno di essere semantico, e di solito non lo sarà. Ma il contenuto dovrebbe essere sicuramente semantico. Chiediti cosa è il tuo contenuto e fai in modo che il nome della classe lo rappresenti, in modo che possa essere utilizzato in modo significativo.