Fix dead prev/next arrows on the slideshow

The theme gives every button a pressed effect -- button:active sets
position: relative; top: 1px. Splide renders its arrows as <button>, so
they matched it and flipped from absolute to relative positioning for as
long as the mouse was held down, jumping 181px out of their centred
position mid-click. mousedown and mouseup therefore landed on different
elements (the arrow, then the caption overlay behind it), so the browser
fired click on their common ancestor and the arrow's own handler never
ran. Nothing was logged because nothing errored.

Restoring absolute positioning for .splide__arrow:active fixes it.

Autoplay and the pagination dots were unaffected throughout, which is
why this looked like the arrows specifically were unbound -- they were
bound, the click just never reached them. Verified with real mouse
clicks (not synthetic .click(), which bypasses hit-testing and masked
the bug) on both sites.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-15 20:10:41 -04:00
co-authored by Claude Opus 5
parent f2527547d7
commit 0703699929
+10
View File
@@ -866,6 +866,16 @@ input[type="submit"]:active {
top:1px;
}
/* Splide's slider arrows are <button>s, so the press effect above applies to them and
flips them from absolute to relative positioning for as long as the mouse is held down.
They jump out of their centred position mid-click, so mousedown and mouseup land on
different elements, the browser fires click on their common ancestor instead, and the
arrow's own handler never runs -- the arrows silently do nothing. */
.splide__arrow:active {
position: absolute;
top: 50%;
}
input#s {
width: 70%;