Limitacions d'estils en enllaços visitats

Les versions de navegador més recents han capat les possibilitats d'estilat d'un enllaç visitat. Firefox 4, Safari 5 i Chrome 15. Opera 11.5 encara hi dóna suport total.

Limitacions

Els enllaços visitats, a:visited, es limiten a les propietats relacionades amb el color, és a dir:

  • color
  • background-color
  • border-color, border-top-color, border-right-color, border-bottom-color, border-left-color
  • outline-color

Qualsevol altre propietat aplica si està definida com a enllaç no visitat a:link.

A més a més no es pot usar rgba(), hsla(), ni transparència.

En matèria de selectors, apliquen sense tenir en compte la pseudo-classe :visited.

I perquè?

A principis del 2010 van trobar que explotant getComputedStyle() combinat amb la pseudo-classe :visited es podia obtenir tot l'historial de navegació i d'aquí, a força bruta, desanonimitzar la persona. Un atac a la privacitat.

De les idees proposades Firefox, Safari i Chrome han tirat per limitar les possibilitats de la pseudo-classe :visited alhora que falsejen les respostes de funcions tipus getComputedStyle() o querySelector().

Què fer?

La meva solució ara per ara és deixar d'usar el concepte d'enllaç visitat. Cada vegada em semblava més prescindible, això només accelera el procés.