Repository navigation
Fix: Gallery lightbox – clicking the expanded image should not close the dialog - #78907
Mustafabharmal wants to merge 3 commits into
Conversation
|
The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message. To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook. |
|
Hi @Mustafabharmal, thanks for your work. I tested this PR, and it seems to be working, but we still need to change the cursor to the default when hovering over the image so it doesn't look like you can close the dialog by clicking it. |
|
Thanks @Mustafabharmal! #78898 fixes the same issue and scopes the change to galleries with navigation controls, which matches #78869 — a standalone image's lightbox keeps click-to-close as an affordance, since there are no nav buttons to mis-tap. Closing this one in favour of that PR. Thanks for the work, and for flagging the cursor detail! |
What?
When a Gallery block has lightbox enabled, clicking or tapping the expanded image inside the lightbox overlay no longer dismisses the dialog.
Closes #78869.
Why?
WordPress 7.0 introduced navigation controls (Previous / Next) for the Gallery lightbox (#62906). With those controls present, the image-click-to-close behaviour inherited from the standalone Image block became a UX problem: users tapping the image to inspect detail—or slightly mis-tapping while reaching for a navigation button—would accidentally dismiss the
lightbox with no way to recover other than reopening and navigating back.
On touch devices this is especially disruptive because hover isn't available and the image is the most prominent tap target in the overlay. This was also raised in #77545 and #55513.
How?
Added a new
handleOverlayClickaction inview.jsthat wraps the existinghideLightboxaction:IMGorFIGURE. If the click originated on the image, it returns early. If the click landed directly on the overlay backdrop, scrim, or Close button, it proceeds tohideLightbox.hideLightboxis called normally—no behaviour change.hideLightboxdirectly and is completely unaffected.handleOverlayClickbut since it is a<button>and not an<img>, it correctly dismisses the lightbox. Theindex.phplightbox overlay template is updated to bind the click event to the newhandleOverlayClickinstead ofhideLightbox.Testing Instructions
Screenshots or screencast