It is... but not in FF. Browsers may align the caption differently, but it looks like FF places it outside the table and independent of the table. I've never noticed this before. How queer.
Add this and you can see what FF is doing.
CODE
caption { border: 2px solid red }
The caption has the same width as the table but is displayed outside the table. Peculiar. Is this how it's supposed to be, I wonder?
Anyway, centering it fixes the problem...
CODE
caption { margin: auto }