display:none;
Il blocco non viene visualizzato e non viene preso in considerazione (pero` eventuali pezzi di form all'interno vengono inviati). Non viene lasciato lo spazio (se viene cambiato da JS in modo dinamico la pagina viene riformattata). In qualche browser vocale non viene letto.

visibility:hidden;
Il blocco non si vede, ma il posto e` lasciato (se cambiato dinamicamente il resto della pag. rimane uguale). Dovrebbe venir letto da tutti i browser vocali.