From 35feef905d05fe3c58fbb5f4c89d68bba39c35e8 Mon Sep 17 00:00:00 2001 From: u-lates_sap Date: Wed, 22 Jul 2026 12:46:53 +0200 Subject: [PATCH 1/4] fix: activate navigation components on space keyup - Closes https://jira.tools.sap/browse/CXSPA-12782. - Addresses ACC- 270.16(Level A) _ SAP Composable Storefront_ Combo Box, Button Menu_ UI getting activated without releasing space key. --- .../feature-toggles/config/feature-toggles.ts | 11 + .../site-context-selector.component.html | 4 +- .../site-context-selector.component.ts | 2 + .../site-theme-switcher.component.html | 10 +- .../site-theme-switcher.component.ts | 2 + .../navigation/navigation-ui.component.html | 3 + .../navigation-ui.component.spec.ts | 318 ++++++++++++++++-- .../navigation/navigation-ui.component.ts | 21 +- core-libs/storefront/layout/a11y/index.ts | 1 + .../layout/a11y/native-select-space/index.ts | 7 + .../native-select-space.directive.spec.ts | 114 +++++++ .../native-select-space.directive.ts | 50 +++ .../spartacus/spartacus-features.module.ts | 1 + 13 files changed, 506 insertions(+), 38 deletions(-) create mode 100644 core-libs/storefront/layout/a11y/native-select-space/index.ts create mode 100644 core-libs/storefront/layout/a11y/native-select-space/native-select-space.directive.spec.ts create mode 100644 core-libs/storefront/layout/a11y/native-select-space/native-select-space.directive.ts diff --git a/core-libs/core/src/features-config/feature-toggles/config/feature-toggles.ts b/core-libs/core/src/features-config/feature-toggles/config/feature-toggles.ts index 21426f8f028..d288cbf8b12 100644 --- a/core-libs/core/src/features-config/feature-toggles/config/feature-toggles.ts +++ b/core-libs/core/src/features-config/feature-toggles/config/feature-toggles.ts @@ -526,6 +526,16 @@ export interface FeatureTogglesInterface { */ siteIsolationForCustomLoginPage?: boolean; + /** + * When enabled, the navigation menu buttons (e.g. "My Account") and dropdown + * headers activate on spacebar key *release* (`keyup`) rather than key *press* + * (`keydown`), preventing the action from firing repeatedly while the key is + * held down. + * Fixes WCAG 2.5.2 (Pointer Cancellation) ACC-270.16 (Level A). + * Affects: `NavigationUIComponent`, 'NativeSelectSpaceDirective' + */ + a11yNavigationSpaceKeyOnKeyUp?: boolean; + /** * When enabled, the storefront's active theme follows the `theme` field of * the active base site (configured in SAP Commerce BackOffice). The theme @@ -638,6 +648,7 @@ export const defaultFeatureToggles: Required = { asyncAuthConfigInitializer: false, siteIsolationForCustomLoginPage: false, applyBaseSiteThemeFromCms: false, + a11yNavigationSpaceKeyOnKeyUp: false, b2bCheckoutShippingAddressFilter: false, improvedTabStyling: false, productConfiguratorConsolidatedButtonDisabling: false, diff --git a/core-libs/storefront/cms-components/misc/site-context-selector/site-context-selector.component.html b/core-libs/storefront/cms-components/misc/site-context-selector/site-context-selector.component.html index 3440e64256f..03db828e718 100644 --- a/core-libs/storefront/cms-components/misc/site-context-selector/site-context-selector.component.html +++ b/core-libs/storefront/cms-components/misc/site-context-selector/site-context-selector.component.html @@ -1,7 +1,7 @@