diff --git a/tests/e2e/viewport-toggle.kbd.e2e.ts b/tests/e2e/viewport-toggle.kbd.e2e.ts index d165357..599527b 100644 --- a/tests/e2e/viewport-toggle.kbd.e2e.ts +++ b/tests/e2e/viewport-toggle.kbd.e2e.ts @@ -4,11 +4,14 @@ const builderUrl = '/en/builder' test('Preview viewport toggle via keyboard (Tab + Enter/Space)', async ({ page }) => { await page.goto(builderUrl) + await page.waitForLoadState('domcontentloaded') + // Ensure the page has focus before sending keyboard events + await page.locator('body').click({ position: { x: 1, y: 1 } }) - // Tab to first button (Desktop) - await page.keyboard.press('Tab') - await page.keyboard.press('Tab') - await expect(page.getByRole('button', { name: 'Desktop' })).toBeFocused() + // Focus the Desktop button explicitly to avoid flakiness from skip-link/initial focus + const desktopBtn = page.getByRole('button', { name: 'Desktop' }) + await desktopBtn.focus() + await expect(desktopBtn).toBeFocused() // Press Space to toggle Mobile (first ensure Desktop is selected, then move to Mobile with Tab) await page.keyboard.press('Tab')