In gallery.css, the definition of a.button.disabled includes pointer-events: none, which is why the events are going through the button.  I guess we need a new style that just sets the opacity and not the pointer-events.

Now that you mention it, though, this is a problem throughout the app. If you go into select mode, and start with no selected items, the share and delete buttons will be disabled, and clicks will go right through.

So lets file a followup bug to do gallery buttons right, including handling the disabled state correctly.

And in this bug, let's just use the disabled class like we do in the rest of the app.  Most of the time when the camera button is disabled it won't be visible because the camera app will have launched.

When the button is visible and disabled, I'd rather have it grayed out, even if touch events go through it.