Sicuramente c'e` un problema di ordine: l'ordine corretto e`:
link
visted
hover
active
Comunque lo stato attivo non si mantiene quando "molli" il bottone del mouse; credo ci voglia un JS per realizzarlo, tipo:
onclick="togliAttivoATutti(); this.className='classeAttiva';"
dove classeAttiva e` una classe uguale al tuo stile :active
e togliAttivoATutti() e` una funzione che riporta tutti i link alla classe "standard".
PS: questo JS non pregiudica l'accessibilta`, dato che porta solo una modifica "cosmetica"