← back to Voronoi Shatter
polish: aria-pressed on toggles + reduced-motion CSS guard
a67a3b7bc00df1908f35a9e39ec8f1207f651a59 · 2026-07-24 23:59:09 -0700 · Steve
- Seeds/Cracks toggle buttons expose aria-pressed state for screen readers.
- @media (prefers-reduced-motion: reduce) disables panel/button CSS transitions
to match the existing JS reduced-motion handling.
Playwright-verified: aria-pressed flips true->false, toggles work, zero errors.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Files touched
Diff
commit a67a3b7bc00df1908f35a9e39ec8f1207f651a59
Author: Steve <steve@designerwallcoverings.com>
Date: Fri Jul 24 23:59:09 2026 -0700
polish: aria-pressed on toggles + reduced-motion CSS guard
- Seeds/Cracks toggle buttons expose aria-pressed state for screen readers.
- @media (prefers-reduced-motion: reduce) disables panel/button CSS transitions
to match the existing JS reduced-motion handling.
Playwright-verified: aria-pressed flips true->false, toggles work, zero errors.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
---
index.html | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/index.html b/index.html
index 32cdd8d..608e7b1 100644
--- a/index.html
+++ b/index.html
@@ -114,6 +114,11 @@
display: none;
}
#showBtn.visible { display: inline-block; }
+ /* Match the JS reduced-motion handling: kill UI easing too. */
+ @media (prefers-reduced-motion: reduce) {
+ #panel { transition: none; }
+ button { transition: none; }
+ }
</style>
</head>
<body>
@@ -126,8 +131,8 @@
<p><b>Click</b> to add a point & re-shatter · <b>drag</b> to paint ·
<b>right-click</b> (or Shift-click) removes the nearest.</p>
<div class="row">
- <button id="toggleSeeds" class="active">Seeds: on</button>
- <button id="toggleEdges" class="active">Cracks: on</button>
+ <button id="toggleSeeds" class="active" aria-pressed="true">Seeds: on</button>
+ <button id="toggleEdges" class="active" aria-pressed="true">Cracks: on</button>
</div>
<div class="row">
<button id="explode">💥 Shatter</button>
@@ -602,12 +607,14 @@
showSeeds = v;
els.toggleSeeds.textContent = "Seeds: " + (v ? "on" : "off");
els.toggleSeeds.classList.toggle("active", v);
+ els.toggleSeeds.setAttribute("aria-pressed", v ? "true" : "false");
schedule();
}
function setEdges(v) {
showEdges = v;
els.toggleEdges.textContent = "Cracks: " + (v ? "on" : "off");
els.toggleEdges.classList.toggle("active", v);
+ els.toggleEdges.setAttribute("aria-pressed", v ? "true" : "false");
schedule();
}
function cyclePalette() {
← 88e9a81 Voronoi Shatter: clamp seeds into viewport on resize + honor
·
back to Voronoi Shatter
·
(newest)