We could argue all day about which browser has the bug. One of the reasons for browser incompatibilities is imprecise specifications.
In earlier GUIs button "depressed" was used to describe FFs version of a:active. Semantically, at least, "active" would seem more descriptive of the way IE handles it.
FF without a:focus has some degree of focus with dots surrounding the button. Adding focus makes it behave like FF and gives a better visual cue.
Adding a:focus to IE means that you can now tab to the button and press enter without using a mouse at all.
If the goal is browser compatibility I think adding a:focus to the mix is advisable. However, in my tests, a:focus with a:active combined did not have the desired effect. They had to be separate.
Instead of this silly arguing and instant nay-saying, it would be nice if we could come together in a supportive way to learn from one anothers experience and come up with some definitive tips.
For instance, I experimented with a:focus and a:active between FF and IE and the order did not seem to make much difference. However, it may make a difference in other browsers or in other situations. If people reported these differences we could come up with a complete definitive cross-browser approach.
In that spirit, I would like to report that I did not find this to be accurate:
/* IE treats :active as :focus, so undo the above for it */
* html a.button:active {
Adding a:focus enables tabbing and the use of the enter key in IE.
Also Red did not show in a:hover in the given example in either browser.
Clive