Skip to content

Commit 3a00848

Browse files
fix(ui5-popover): allow f6 navigation
1 parent 006123b commit 3a00848

File tree

4 files changed

+54
-2
lines changed

4 files changed

+54
-2
lines changed

packages/main/cypress/specs/Popover.cy.tsx

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import Label from "../../src/Label.js";
66
import List from "../../src/List.js";
77
import ListItem from "../../src/ListItemStandard.js";
88
import Input from "../../src/Input.js";
9+
import "@ui5/webcomponents-base/dist/features/F6Navigation.js";
910

1011
describe("Rendering", () => {
1112
it("tests arrow positioning", () => {
@@ -332,6 +333,42 @@ describe("Accessibility", () => {
332333
.find(".ui5-popup-root")
333334
.should("not.have.attr", "aria-labelledby");
334335
});
336+
337+
it("F6 navigation", () => {
338+
cy.mount(
339+
<>
340+
<button data-sap-ui-fastnavgroup="true" id="test"> Test button</button>
341+
<Popover opener="test">
342+
<div data-sap-ui-fastnavgroup="true">
343+
<Button id="first">First group focusable</Button>
344+
</div>
345+
<div data-sap-ui-fastnavgroup="true">
346+
<Button id="second">Second group focusable</Button>
347+
</div>
348+
</Popover>
349+
<button data-sap-ui-fastnavgroup="true">Test button 2</button>
350+
</>
351+
);
352+
353+
cy.get("[ui5-popover]")
354+
.invoke("prop", "open", "true");
355+
356+
cy.get<Popover>("[ui5-popover]")
357+
.ui5PopoverOpened();
358+
359+
cy.get("#first")
360+
.should("be.focused");
361+
362+
cy.realPress("F6");
363+
364+
cy.get("#second")
365+
.should("be.focused");
366+
367+
cy.realPress("F6");
368+
369+
cy.get("#first")
370+
.should("be.focused");
371+
});
335372
});
336373

337374
describe("Popover opener", () => {

packages/main/src/Dialog.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -345,8 +345,6 @@ class Dialog extends Popup {
345345
this._attachScreenResizeHandler();
346346

347347
this.addEventListener("dragstart", this._dragStartHandler);
348-
349-
this.setAttribute("data-sap-ui-fastnavgroup-container", "true");
350348
}
351349

352350
onExitDOM() {

packages/main/src/Popup.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -288,6 +288,7 @@ abstract class Popup extends UI5Element {
288288
this.openPopup();
289289
}
290290

291+
this.setAttribute("data-sap-ui-fastnavgroup-container", "true");
291292
registerUI5Element(this, this._updateAssociatedLabelsTexts.bind(this));
292293
}
293294

packages/main/test/pages/Popover.html

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -641,7 +641,23 @@ <h3>Popover in ShadowRoot, Opener set as ID in window.document</h3>
641641

642642
<div style="height: 100px;"></div>
643643

644+
<button data-sap-ui-fastnavgroup="true" id="test"> Test button</button>
645+
<ui5-popover id="groupPop" opener="test">
646+
<div data-sap-ui-fastnavgroup="true">
647+
<Button id="first">First group focusable</Button>
648+
</div>
649+
<div data-sap-ui-fastnavgroup="true">
650+
<Button id="second">Second group focusable</Button>
651+
</div>
652+
</ui5-popover>
653+
<button data-sap-ui-fastnavgroup="true">Test button 2</button>
654+
644655
<script>
656+
657+
test.addEventListener("click", function (event) {
658+
groupPop.open = true;
659+
});
660+
645661
btn.addEventListener("click", function (event) {
646662
pop.opener = btn;
647663
pop.open = true;

0 commit comments

Comments
 (0)