diff --git a/packages/main/cypress/specs/List.cy.tsx b/packages/main/cypress/specs/List.cy.tsx
index 7b50bb97b3bc..8effeab5314c 100644
--- a/packages/main/cypress/specs/List.cy.tsx
+++ b/packages/main/cypress/specs/List.cy.tsx
@@ -1286,6 +1286,114 @@ describe("List Tests", () => {
cy.get("[ui5-li-custom]").first().should("be.focused");
});
+ it("keyboard handling on F7", () => {
+ cy.mount(
+
+
+
+
+
+
+ );
+
+ cy.get("[ui5-li-custom]").click();
+ cy.get("[ui5-li-custom]").should("be.focused");
+
+ // F7 goes to first focusable element
+ cy.realPress("F7");
+ cy.get("[ui5-button]").first().should("be.focused");
+
+ // Tab to second button
+ cy.realPress("Tab");
+ cy.get("[ui5-button]").last().should("be.focused");
+
+ // F7 returns to list item
+ cy.realPress("F7");
+ cy.get("[ui5-li-custom]").should("be.focused");
+
+ // F7 remembers last focused element (second button)
+ cy.realPress("F7");
+ cy.get("[ui5-button]").last().should("be.focused");
+ });
+
+ it("keyboard handling on F7 after TAB navigation", () => {
+ cy.mount(
+
+
+
+
+
+
+
+
+
+ );
+
+ cy.get("button").click();
+ cy.get("button").should("be.focused");
+
+ // Tab into list item
+ cy.realPress("Tab");
+ cy.get("[ui5-li-custom]").should("be.focused");
+
+ // Tab into internal elements (goes to first button)
+ cy.realPress("Tab");
+ cy.get("[ui5-button]").first().should("be.focused");
+
+ // Tab to second button
+ cy.realPress("Tab");
+ cy.get("[ui5-button]").last().should("be.focused");
+
+ // F7 should store current element and return to list item
+ cy.realPress("F7");
+ cy.get("[ui5-li-custom]").should("be.focused");
+
+ // F7 should remember the second button (not go to first)
+ cy.realPress("F7");
+ cy.get("[ui5-button]").last().should("be.focused");
+ });
+
+ it("keyboard handling on F7 maintains focus position across list items", () => {
+ cy.mount(
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+
+ // Focus first list item
+ cy.get("[ui5-li-custom]").first().click();
+ cy.get("[ui5-li-custom]").first().should("be.focused");
+
+ // F7 to enter (should go to first button)
+ cy.realPress("F7");
+ cy.get("[ui5-button]").eq(0).should("be.focused");
+
+ // Tab to second button
+ cy.realPress("Tab");
+ cy.get("[ui5-button]").eq(1).should("be.focused");
+
+ // F7 to exit back to list item
+ cy.realPress("F7");
+ cy.get("[ui5-li-custom]").first().should("be.focused");
+
+ // Navigate to second list item with ArrowDown
+ cy.realPress("ArrowDown");
+ cy.get("[ui5-li-custom]").last().should("be.focused");
+
+ // F7 should focus the second button (same index as previous item)
+ cy.realPress("F7");
+ cy.get("[ui5-button]").eq(4).should("be.focused").and("contain", "Item 2 - Second");
+ });
+
it("keyboard handling on TAB when 2 level nested UI5Element is focused", () => {
cy.mount(