It may not be current but my copy of "Cascading Style Sheets Level 2 Revision 1, (CSS 2.1) Specification," W3C Candidate Recommendation 19 July 2007, defines the following":
- :link pseudo-class applies for links that have not yet been visited.
- :visited pseudo-class applies once the link has been visited by the user.
- :hover pseudo-class applies while the user designates an element (with some pointing device), but does not activate it. For example, a visual user agent could apply this pseudo-class when the cursor (mouse pointer) hovers over a box generated by the element.
- :active pseudo-class applies while an element is being activated by the user. For example, between the times the user presses the mouse button and releases it.
- :focus pseudo-class applies while an element has the focus (accepts keyboard events or other forms of text input).
Users with low bandwidth will notice :focus as the new element is received and loaded.
The document also notes that the order the selectors are defined is important. :link, :visited, :hover should be in that order so that for example, the color for :visited will override :link and both will be overridden when the user hovers.