diff --git a/simulator/e2e/tests/a11y.spec.ts b/simulator/e2e/tests/a11y.spec.ts
index 1fc0a18..f8d480a 100644
--- a/simulator/e2e/tests/a11y.spec.ts
+++ b/simulator/e2e/tests/a11y.spec.ts
@@ -49,7 +49,7 @@ test.describe("Task 4 — Photosensitivity notice", () => {
});
test.describe("Task 5 — Playback speed slider + Reduce motion", () => {
- test("Speed is a 0–4x forward slider; the loop follows it (default 1x)", async ({ page }) => {
+ test("Speed is a 0–2x forward slider; the loop follows it (default 1x)", async ({ page }) => {
await page.emulateMedia({ reducedMotion: "no-preference" });
await page.goto("/");
await enter(page);
@@ -57,17 +57,17 @@ test.describe("Task 5 — Playback speed slider + Reduce motion", () => {
await expect(slider).toBeVisible();
await expect(slider).toHaveValue("1"); // default = normal speed
await expect(slider).toHaveAttribute("min", "0");
- await expect(slider).toHaveAttribute("max", "4");
+ await expect(slider).toHaveAttribute("max", "2"); // capped at 2x — base clips aren't all-intra, so >2x stutters
});
- test("forward speed sets the loop video's playbackRate (up to 4x)", async ({ page }) => {
+ test("forward speed sets the loop video's playbackRate (up to 2x)", async ({ page }) => {
await page.emulateMedia({ reducedMotion: "no-preference" });
await page.goto("/");
await enter(page);
- await page.locator("#play-speed").fill("4");
+ await page.locator("#play-speed").fill("2");
await expect
.poll(() => page.locator("#vid-loop").evaluate((v: HTMLVideoElement) => v.playbackRate))
- .toBe(4);
+ .toBe(2);
});
test("0x freezes the loop video", async ({ page }) => {
diff --git a/simulator/static/index.html b/simulator/static/index.html
index d058a4f..3f5141a 100644
--- a/simulator/static/index.html
+++ b/simulator/static/index.html
@@ -22,7 +22,7 @@
@@ -77,14 +77,14 @@
0/10