Nei "link utili" di questo forum, ci sono i riferimenti per due tecniche, una che fa uso di JS ed una che fa uso di marcatura supplementare.
Per i bottoni, ci sono anche altre tecniche, che consistono nel fornire una, due o tre immagini: a tale proposito avevo visto un articolo di HTML.it.