From 3545c0817c964898501fb8b2979a98c37635038f Mon Sep 17 00:00:00 2001 From: PetyaMarkovaBogdanova Date: Fri, 12 Jun 2026 14:19:00 +0300 Subject: [PATCH 1/2] fix(ui5-shellbar-branding): space key now triggers click event --- .../cypress/specs/ShellBarBranding.cy.tsx | 17 ++++++++++++ packages/fiori/src/ShellBarBranding.ts | 27 +++++++++++++------ 2 files changed, 36 insertions(+), 8 deletions(-) diff --git a/packages/fiori/cypress/specs/ShellBarBranding.cy.tsx b/packages/fiori/cypress/specs/ShellBarBranding.cy.tsx index 3c9c124bba37..45937f52e853 100644 --- a/packages/fiori/cypress/specs/ShellBarBranding.cy.tsx +++ b/packages/fiori/cypress/specs/ShellBarBranding.cy.tsx @@ -109,4 +109,21 @@ describe("ShellBarBranding", () => { .should("have.attr", "tabIndex", "0"); }); }); + + it("fires click event on Enter and Space", () => { + basicTemplate(); + + cy.get("#shellbarBranding").then(branding => { + branding.get(0).addEventListener("ui5-click", cy.stub().as("brandingClick")); + }); + + cy.get("@shellbarBranding") + .find("a") + .focus() + .realPress("Enter") + .realPress("Space"); + + cy.get("@brandingClick") + .should("have.been.calledTwice"); + }); }); diff --git a/packages/fiori/src/ShellBarBranding.ts b/packages/fiori/src/ShellBarBranding.ts index 5809f854c162..4a65978902f4 100644 --- a/packages/fiori/src/ShellBarBranding.ts +++ b/packages/fiori/src/ShellBarBranding.ts @@ -136,25 +136,36 @@ class ShellBarBranding extends UI5Element { this.fireDecoratorEvent("click"); } - _onclick(e: MouseEvent) { + private _activate(e: Event) { e.stopPropagation(); this._fireClick(); } - _onkeyup(e: KeyboardEvent) { - if (isSpace(e)) { - this._fireClick(); - } + _onclick(e: MouseEvent) { + this._activate(e); } _onkeydown(e: KeyboardEvent) { - if (isSpace(e)) { + if (isEnter(e) && !this.href) { + this._activate(e); + e.preventDefault(); + } else if (isSpace(e)) { e.preventDefault(); + } + } + + _onkeyup(e: KeyboardEvent) { + if (!isSpace(e)) { return; } - if (isEnter(e)) { - this._fireClick(); + this._activate(e); + + if (this.href && !e.defaultPrevented) { + const customEvent = new MouseEvent("click"); + + customEvent.stopImmediatePropagation(); + this.getDomRef()!.dispatchEvent(customEvent); } } } From 12ae358fe530bb8ee5be7b9da18925d5a2800261 Mon Sep 17 00:00:00 2001 From: PetyaMarkovaBogdanova Date: Fri, 12 Jun 2026 16:36:58 +0300 Subject: [PATCH 2/2] fix(ui-shellbar-branding): trailing spaces cleared --- packages/fiori/src/ShellBarBranding.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/fiori/src/ShellBarBranding.ts b/packages/fiori/src/ShellBarBranding.ts index 4a65978902f4..8566fc5396c4 100644 --- a/packages/fiori/src/ShellBarBranding.ts +++ b/packages/fiori/src/ShellBarBranding.ts @@ -149,13 +149,13 @@ class ShellBarBranding extends UI5Element { if (isEnter(e) && !this.href) { this._activate(e); e.preventDefault(); - } else if (isSpace(e)) { + } else if (isSpace(e)) { e.preventDefault(); } } _onkeyup(e: KeyboardEvent) { - if (!isSpace(e)) { + if (!isSpace(e)) { return; } @@ -163,7 +163,6 @@ class ShellBarBranding extends UI5Element { if (this.href && !e.defaultPrevented) { const customEvent = new MouseEvent("click"); - customEvent.stopImmediatePropagation(); this.getDomRef()!.dispatchEvent(customEvent); }