From 06623a24c45fee911cc17d5d6828f50c4b95c125 Mon Sep 17 00:00:00 2001 From: Christophe Dervieux Date: Fri, 30 Oct 2026 12:37:31 +0100 Subject: [PATCH] Skip the Shift+Tab panel click test in macOS WebKit The test holds Shift+Tab, plus Option in WebKit so that Tab reaches links, then clicks a textarea in a tabset panel. On macOS, WebKit does not focus a control clicked while Option is held: a probe run showed pointerdown, mousedown and click reaching the textarea, none of them cancelled, with no focus change and the panel left selected. With Option released, the same click focuses the textarea. The tabset code does not take part, so the nightly macOS failure is a WebKit platform behavior, not a regression. Releasing Option before the click would make the test pass but empty it: the tabset script ends its Shift+Tab state on any keyup, so the click would no longer check that pointerdown ends it. The test is skipped for WebKit on macOS only; Linux WebKit, Chromium and Firefox keep the check. --- tests/integration/playwright/tests/revealjs.spec.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/integration/playwright/tests/revealjs.spec.ts b/tests/integration/playwright/tests/revealjs.spec.ts index 8450b30ca8f..4a81d929579 100644 --- a/tests/integration/playwright/tests/revealjs.spec.ts +++ b/tests/integration/playwright/tests/revealjs.spec.ts @@ -472,6 +472,11 @@ test.describe('tabset keyboard focus order', () => { }); test('clicking a panel control while Shift+Tab is held keeps that panel', async ({ page, browserName }) => { + // On macOS, WebKit does not focus a control clicked while Option is held, + // and WebKit needs Option to Tab to links. Releasing Option first would not + // help: any keyup ends the Shift+Tab state this test is about. + test.skip(browserName === 'webkit' && process.platform === 'darwin', + 'macOS WebKit does not focus an Option-click'); await gotoSlide(page, '#/control-handling-tab-in-a-tabset'); await link(page, 'a second link').focus(); await page.keyboard.down('Shift');