The specs don’t define whether you can position from table cells so its down to browser interpretation.
That is indeed Mozilla’s excuse to not fix it. I don’t see the point of having specs if the specs say “2 browsers are okay to do it this way and 3 browsers can do it this whole other way too” since that just means “developers cannot use that at all”.
Should be big black boxes in the specs in all those places where it says “x is not defined” so all developers know right away to stop even reading that section and go find something that is supposed to actually be the same cross-browser.
The specs don’t define whether you can position from table cells so its down to browser interpretation. You could probably fudge it with negative margins but the safest way to is wrap the content in a div that is set to position:relative.
Sorry, I didn’t look any further after I saw the position:absolute with the top: and left: declarations of the img.a. I tried removing those top: and left: values, and that makes the images stack pairwise inside the td, but now the whole middle row collapses in FF(4).
There is an issue with FF and tables, i.e. table cells, I remember that from a problem on another forum where a content had to be positioned inside a td. And we couldn’t solve it due to a FF property. So I’m afraid I don’t have an answer for you yet.
That works for img.a, but the img.b still stays in the upper right corner. If I change img.b to relative also, it then sits below the img.a image instead of being stacked on one top of each other and creating the hover fade effect.