If so, does it effectively deprecate the visibility
property?
(I realize that Internet Explorer does not yet support this CSS2 property.)
Comparis
The properties have different semantic meanings. While semantic CSS sounds like it may be silly, as other users have mentioned it has an impact on devices like screen readers -- where semantics impact the accessibility of a page.
No it does not. There is a big difference. They are similar because you can see through the element if visibility is hidden or opacity is 0, however
opacity: 0 : you can not click on elements behind it.
visibility: hidden : you can click on elements behind it.
No.
Elements with opacity create new stacking context.
Also, CSS spec doesn't define this, but elements with opacity:0
are clickable, and elements with visibility:hidden
are not.