From 450d27f0aaa6f23239992fe66e326f1f7befc3f1 Mon Sep 17 00:00:00 2001 From: Gergana Georgieva Date: Fri, 25 Jul 2025 12:46:28 +0300 Subject: [PATCH 1/2] fix(ui5-popover): allow f6 navigation --- packages/main/cypress/specs/Popover.cy.tsx | 37 ++++++++++++++++++++++ packages/main/src/Dialog.ts | 2 -- packages/main/src/Popup.ts | 1 + packages/main/test/pages/Popover.html | 16 ++++++++++ 4 files changed, 54 insertions(+), 2 deletions(-) diff --git a/packages/main/cypress/specs/Popover.cy.tsx b/packages/main/cypress/specs/Popover.cy.tsx index d0788723a918..f2b60e547ef7 100644 --- a/packages/main/cypress/specs/Popover.cy.tsx +++ b/packages/main/cypress/specs/Popover.cy.tsx @@ -6,6 +6,7 @@ import Label from "../../src/Label.js"; import List from "../../src/List.js"; import ListItem from "../../src/ListItemStandard.js"; import Input from "../../src/Input.js"; +import "@ui5/webcomponents-base/dist/features/F6Navigation.js"; describe("Rendering", () => { it("tests arrow positioning", () => { @@ -332,6 +333,42 @@ describe("Accessibility", () => { .find(".ui5-popup-root") .should("not.have.attr", "aria-labelledby"); }); + + it("F6 navigation", () => { + cy.mount( + <> + + +
+ +
+
+ +
+
+ + + ); + + cy.get("[ui5-popover]") + .invoke("prop", "open", "true"); + + cy.get("[ui5-popover]") + .ui5PopoverOpened(); + + cy.get("#first") + .should("be.focused"); + + cy.realPress("F6"); + + cy.get("#second") + .should("be.focused"); + + cy.realPress("F6"); + + cy.get("#first") + .should("be.focused"); + }); }); describe("Popover opener", () => { diff --git a/packages/main/src/Dialog.ts b/packages/main/src/Dialog.ts index 8e65c2e5e4e5..902ce8718ed5 100644 --- a/packages/main/src/Dialog.ts +++ b/packages/main/src/Dialog.ts @@ -345,8 +345,6 @@ class Dialog extends Popup { this._attachScreenResizeHandler(); this.addEventListener("dragstart", this._dragStartHandler); - - this.setAttribute("data-sap-ui-fastnavgroup-container", "true"); } onExitDOM() { diff --git a/packages/main/src/Popup.ts b/packages/main/src/Popup.ts index 9cfe7d9890bf..fa486e761d42 100644 --- a/packages/main/src/Popup.ts +++ b/packages/main/src/Popup.ts @@ -288,6 +288,7 @@ abstract class Popup extends UI5Element { this.openPopup(); } + this.setAttribute("data-sap-ui-fastnavgroup-container", "true"); registerUI5Element(this, this._updateAssociatedLabelsTexts.bind(this)); } diff --git a/packages/main/test/pages/Popover.html b/packages/main/test/pages/Popover.html index 56ee896ab232..dbf1b8fec06c 100644 --- a/packages/main/test/pages/Popover.html +++ b/packages/main/test/pages/Popover.html @@ -641,7 +641,23 @@

Popover in ShadowRoot, Opener set as ID in window.document

+ + +
+ +
+
+ +
+
+ +