openvibers/openvibe.tools Commits
Reduced motion: guard animated stylesheets (#174)
Changes
@@@ -582,3 +582,5 @@ a:hover { color: var(--accent-hover); }.file-details .file-row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; padding: 4px 0; }.file-details .file-row + .file-row { border-top: 1px solid var(--border); }.file-details .btn-sm { padding: 4px 10px; font-size: 12px; margin-top: 4px; }++++@media (prefers-reduced-motion: reduce) { .option-group, .result-panel, .toast { animation: none; } .spinner { animation: none; opacity: .7; } }@@@ -474,3 +474,5 @@ body {line-height: 1.5;}.check-row { display: flex; align-items: center; gap: 8px; margin-top: 10px; font-size: 14px; color: var(--text-secondary); cursor: pointer; }++++@media (prefers-reduced-motion: reduce) { .spinner { animation: none; opacity: .7; } }@@@ -235,3 +235,5 @@ body { min-height:100%; font-family:var(--font); background:var(--bg); color:var.food-table { font-size:11px; }.food-table th, .food-table td { padding:6px; }}++++@media (prefers-reduced-motion: reduce) { .spinner { animation: none; opacity: .7; } }@@@ -235,5 +235,6 @@});</script><script src="https://openvibe.live/live-notify.js" async></script>++ <style>@media (prefers-reduced-motion: reduce) { .showcase-tool, .example-btn, .stat-card { animation: none; } }</style></body></html>@@@ -549,5 +549,6 @@ function sample(){const t=T[ACT];if(t?.p){$('in1').value=t.p;if(t.p2&&$('in2'))$function toast(msg){const t=$('toast');t.textContent=msg;t.classList.add('show');setTimeout(()=>t.classList.remove('show'),2000)}</script><script src="https://openvibe.live/live-notify.js" async></script>++ <style>@media (prefers-reduced-motion: reduce) { .bg-glow::before, .bg-glow::after { animation: none; } }</style></body></html>@@@ -235,5 +235,6 @@});</script><script src="https://openvibe.live/live-notify.js" async></script>++ <style>@media (prefers-reduced-motion: reduce) { .showcase-tool, .example-btn, .stat-card { animation: none; } }</style></body></html>@@@ -1428,5 +1428,6 @@}</script><script src="https://openvibe.live/live-notify.js" async></script>++ <style>@media (prefers-reduced-motion: reduce) { .bg-glow::before, .bg-glow::after, .toast, .showcase-tool, .stat-card { animation: none; } }</style></body></html>@@@ -477,3 +477,5 @@ body {font-size: 14px;line-height: 1.5;}++++@media (prefers-reduced-motion: reduce) { .spinner { animation: none; opacity: .7; } }@@@ -544,3 +544,5 @@ body {.filter-chips { overflow-x: auto; }.header-btn { width: 30px; height: 30px; font-size: 12px; }}++++@media (prefers-reduced-motion: reduce) { .splash-content, .splash-icon, #splash-screen.fade-out, .welcome-icon, .user-marker, #detail-panel, .modal-content, .sp-item:not(.done):not(.error) { animation: none; } .search-progress .spinner { animation: none; opacity: .7; } }@@@ -895,3 +895,5 @@ textarea.large {.interconnect-banner { flex-direction: column; text-align: center; }.interconnect-banner .ic-links { margin-left: 0; }}++++@media (prefers-reduced-motion: reduce) { .live-dot, .output-flash, .toast { animation: none; } }@@@ -412,3 +412,5 @@ a:hover { text-decoration: underline; }.format-btn { padding: 6px 12px; font-size: 0.8rem; }.footer-inner { flex-direction: column; text-align: center; }}++++@media (prefers-reduced-motion: reduce) { .spinner, .progress-bar.indeterminate { animation: none; opacity: .7; } }
@@ -582,3 +582,5 @@ a:hover { color: var(--accent-hover); }
@@ -582,3 +582,5 @@ a:hover { color: var(--accent-hover); }
.file-details .file-row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; padding: 4px 0; }
.file-details .file-row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; padding: 4px 0; }
.file-details .file-row + .file-row { border-top: 1px solid var(--border); }
.file-details .file-row + .file-row { border-top: 1px solid var(--border); }
.file-details .btn-sm { padding: 4px 10px; font-size: 12px; margin-top: 4px; }
.file-details .btn-sm { padding: 4px 10px; font-size: 12px; margin-top: 4px; }
+
+@media (prefers-reduced-motion: reduce) { .option-group, .result-panel, .toast { animation: none; } .spinner { animation: none; opacity: .7; } }
@@ -474,3 +474,5 @@ body {
@@ -474,3 +474,5 @@ body {
line-height: 1.5;
line-height: 1.5;
}
}
.check-row { display: flex; align-items: center; gap: 8px; margin-top: 10px; font-size: 14px; color: var(--text-secondary); cursor: pointer; }
.check-row { display: flex; align-items: center; gap: 8px; margin-top: 10px; font-size: 14px; color: var(--text-secondary); cursor: pointer; }
+
+@media (prefers-reduced-motion: reduce) { .spinner { animation: none; opacity: .7; } }
@@ -235,3 +235,5 @@ body { min-height:100%; font-family:var(--font); background:var(--bg); color:var
@@ -235,3 +235,5 @@ body { min-height:100%; font-family:var(--font); background:var(--bg); color:var
.food-table { font-size:11px; }
.food-table { font-size:11px; }
.food-table th, .food-table td { padding:6px; }
.food-table th, .food-table td { padding:6px; }
}
}
+
+@media (prefers-reduced-motion: reduce) { .spinner { animation: none; opacity: .7; } }
@@ -235,5 +235,6 @@
@@ -235,5 +235,6 @@
});
});
</script>
</script>
<script src="https://openvibe.live/live-notify.js" async></script>
<script src="https://openvibe.live/live-notify.js" async></script>
+ <style>@media (prefers-reduced-motion: reduce) { .showcase-tool, .example-btn, .stat-card { animation: none; } }</style>
</body>
</body>
</html>
</html>
@@ -549,5 +549,6 @@ function sample(){const t=T[ACT];if(t?.p){$('in1').value=t.p;if(t.p2&&$('in2'))$
@@ -549,5 +549,6 @@ function sample(){const t=T[ACT];if(t?.p){$('in1').value=t.p;if(t.p2&&$('in2'))$
function toast(msg){const t=$('toast');t.textContent=msg;t.classList.add('show');setTimeout(()=>t.classList.remove('show'),2000)}
function toast(msg){const t=$('toast');t.textContent=msg;t.classList.add('show');setTimeout(()=>t.classList.remove('show'),2000)}
</script>
</script>
<script src="https://openvibe.live/live-notify.js" async></script>
<script src="https://openvibe.live/live-notify.js" async></script>
+ <style>@media (prefers-reduced-motion: reduce) { .bg-glow::before, .bg-glow::after { animation: none; } }</style>
</body>
</body>
</html>
</html>
@@ -235,5 +235,6 @@
@@ -235,5 +235,6 @@
});
});
</script>
</script>
<script src="https://openvibe.live/live-notify.js" async></script>
<script src="https://openvibe.live/live-notify.js" async></script>
+ <style>@media (prefers-reduced-motion: reduce) { .showcase-tool, .example-btn, .stat-card { animation: none; } }</style>
</body>
</body>
</html>
</html>
@@ -1428,5 +1428,6 @@
@@ -1428,5 +1428,6 @@
}
}
</script>
</script>
<script src="https://openvibe.live/live-notify.js" async></script>
<script src="https://openvibe.live/live-notify.js" async></script>
+ <style>@media (prefers-reduced-motion: reduce) { .bg-glow::before, .bg-glow::after, .toast, .showcase-tool, .stat-card { animation: none; } }</style>
</body>
</body>
</html>
</html>
@@ -477,3 +477,5 @@ body {
@@ -477,3 +477,5 @@ body {
font-size: 14px;
font-size: 14px;
line-height: 1.5;
line-height: 1.5;
}
}
+
+@media (prefers-reduced-motion: reduce) { .spinner { animation: none; opacity: .7; } }
@@ -544,3 +544,5 @@ body {
@@ -544,3 +544,5 @@ body {
.filter-chips { overflow-x: auto; }
.filter-chips { overflow-x: auto; }
.header-btn { width: 30px; height: 30px; font-size: 12px; }
.header-btn { width: 30px; height: 30px; font-size: 12px; }
}
}
+
+@media (prefers-reduced-motion: reduce) { .splash-content, .splash-icon, #splash-screen.fade-out, .welcome-icon, .user-marker, #detail-panel, .modal-content, .sp-item:not(.done):not(.error) { animation: none; } .search-progress .spinner { animation: none; opacity: .7; } }
@@ -895,3 +895,5 @@ textarea.large {
@@ -895,3 +895,5 @@ textarea.large {
.interconnect-banner { flex-direction: column; text-align: center; }
.interconnect-banner { flex-direction: column; text-align: center; }
.interconnect-banner .ic-links { margin-left: 0; }
.interconnect-banner .ic-links { margin-left: 0; }
}
}
+
+@media (prefers-reduced-motion: reduce) { .live-dot, .output-flash, .toast { animation: none; } }
@@ -412,3 +412,5 @@ a:hover { text-decoration: underline; }
@@ -412,3 +412,5 @@ a:hover { text-decoration: underline; }
.format-btn { padding: 6px 12px; font-size: 0.8rem; }
.format-btn { padding: 6px 12px; font-size: 0.8rem; }
.footer-inner { flex-direction: column; text-align: center; }
.footer-inner { flex-direction: column; text-align: center; }
}
}
+
+@media (prefers-reduced-motion: reduce) { .spinner, .progress-bar.indeterminate { animation: none; opacity: .7; } }