Actaully... I started writing that as a joke but now that I think about it, if the browser embedded the opacity value of the clicked element in the GET or POST header, the webserver receiving the click could set the standard themselves.
Alternately, since facebook has lots of resources, facebook could make a request to the referring site themselves, render the page and determine if there are any shenanigans going on with z-ordering or opacity automatically. You could look at all of the css applied to all of the element affecting those pixels.
No... this is all crazy. Just pick a value like 30% and disallow clicks on anything less.
What about background: transparent?
What about background: url(transparent.png)?
What about background: data:encoded-transparent-image...
Even browser-side "visibility" calculations can become an AI-level problem quickly.
Anything not proven visible counts as invisible. Done!