Solo una considerazione per quanto riguarda il celare i contenuti tramite CSS.

Usando 'display:none' si rischia che gli screen-reader (e addirittura i motori di ricerca) ignorino definitivamente le informazioni in quel modo editate.

Una soluzione migliore per 'far sparire un elemento dal monitor' è la seguente:

codice:
#elemento
{
   position:absolute; top:-100px;
   width:1px; height:1px;
   overflow:hidden;
}