From b0f63707b556d444358006d2931c91256a7ea812 Mon Sep 17 00:00:00 2001 From: Alexandre Vryghem Date: Mon, 2 Feb 2026 17:55:32 +0100 Subject: [PATCH 1/4] 138319: Fixed navbar CSS variables not being applied correctly - Also removed $ds-navbar-dropdown-bg because this is a duplicate of $ds-expandable-navbar-bg - Restored border around expandable navbar sections - Removed --ds-header-logo-height-xs (this variable has already been replaced with media queries) - Made the navbar border size configurable similar to the DSpace them (--ds-header-navbar-border-bottom-height) - Removed --ds-header-navbar-border-top-color since it's unused --- .../header-navbar-wrapper.component.scss | 2 +- .../expandable-navbar-section.component.scss | 5 ++- src/app/navbar/navbar.component.scss | 31 ++++++++++++++++-- src/styles/_bootstrap_variables.scss | 5 ++- src/styles/_bootstrap_variables_mapping.scss | 2 +- src/styles/_custom_variables.scss | 13 ++++---- .../styles/_theme_css_variable_overrides.scss | 1 - .../header-navbar-wrapper.component.scss | 32 +++++++++++++++++-- 8 files changed, 70 insertions(+), 21 deletions(-) diff --git a/src/app/header-nav-wrapper/header-navbar-wrapper.component.scss b/src/app/header-nav-wrapper/header-navbar-wrapper.component.scss index c1bc9c7e909..3965380054d 100644 --- a/src/app/header-nav-wrapper/header-navbar-wrapper.component.scss +++ b/src/app/header-nav-wrapper/header-navbar-wrapper.component.scss @@ -1,6 +1,6 @@ :host { position: relative; div#header-navbar-wrapper { - border-bottom: 1px var(--ds-header-navbar-border-bottom-color) solid; + border-bottom: var(--ds-header-navbar-border-bottom-height) var(--ds-header-navbar-border-bottom-color) solid; } } diff --git a/src/app/navbar/expandable-navbar-section/expandable-navbar-section.component.scss b/src/app/navbar/expandable-navbar-section/expandable-navbar-section.component.scss index ab0934e9024..77d3c5239ed 100644 --- a/src/app/navbar/expandable-navbar-section/expandable-navbar-section.component.scss +++ b/src/app/navbar/expandable-navbar-section/expandable-navbar-section.component.scss @@ -7,14 +7,13 @@ overflow: hidden; min-width: 100%; top: 100%; - @include media-breakpoint-down(xs) { + @include media-breakpoint-down(sm) { border: 0; - background-color: var(--ds-expandable-navbar-bg); + border-radius: 0; } @include media-breakpoint-up(md) { border-top-left-radius: 0; border-top-right-radius: 0; - background-color: var(--ds-navbar-dropdown-bg); } } diff --git a/src/app/navbar/navbar.component.scss b/src/app/navbar/navbar.component.scss index bbf5feec156..96c491e2645 100644 --- a/src/app/navbar/navbar.component.scss +++ b/src/app/navbar/navbar.component.scss @@ -19,7 +19,7 @@ &.open { height: auto; min-height: 100vh; //doesn't matter because wrapper is sticky - border-bottom: 1px var(--ds-header-navbar-border-bottom-color) solid; // open navbar covers header-navbar-wrapper border + border-bottom: var(--ds-header-navbar-border-bottom-height) var(--ds-header-navbar-border-bottom-color) solid; // open navbar covers header-navbar-wrapper border } } } @@ -53,12 +53,37 @@ .ds-menu-item { display: block; - color: var(--ds-navbar-link-color); padding: 0.5rem 0; + } + } + + #main-navbar ::ng-deep .ds-menu-item-wrapper { + background-color: var(--ds-navbar-link-bg-color); + + .toggle-menu-icon, .ds-menu-item:not(.dropdown-menu .ds-menu-item) { + color: var(--ds-navbar-link-color); + } + + &:hover, &:focus { + background-color: var(--ds-navbar-link-bg-color-hover); - &:hover, &:focus { + .toggle-menu-icon, .ds-menu-item:not(.dropdown-menu .ds-menu-item) { color: var(--ds-navbar-link-color-hover); } + + .dropdown-menu { + background-color: var(--ds-expandable-navbar-bg); + + .ds-menu-item { + color: var(--ds-expandable-navbar-link-color); + background-color: var(--ds-expandable-navbar-link-bg); + + &:hover, &:focus { + color: var(--ds-expandable-navbar-link-color-hover); + background-color: var(--ds-expandable-navbar-link-bg-hover); + } + } + } } } } diff --git a/src/styles/_bootstrap_variables.scss b/src/styles/_bootstrap_variables.scss index fc470e44909..84eca3c423c 100644 --- a/src/styles/_bootstrap_variables.scss +++ b/src/styles/_bootstrap_variables.scss @@ -65,9 +65,9 @@ $pagination-disabled-bg: white; $icon-font-family: "Font Awesome 6 Free"; /* Define the font-family for icons */ -$border-radius: 0.25em; +$border-radius: 0.25em !default; -$bs-border-radius-lg: 0.3rem; +$border-radius-lg: 0.3rem !default; $badge-padding-x: 0.4em; $badge-padding-y: 0.25em; @@ -89,7 +89,6 @@ $ds-header-icon-color: $link-color !default; $ds-header-icon-color-hover: $link-hover-color !default; $ds-navbar-bg: #fff !default; -$ds-navbar-dropdown-bg: #fff !default; $ds-expandable-navbar-bg: #fff !default; $ds-navbar-link-color: $link-color !default; $ds-navbar-link-color-hover: #{darken($ds-navbar-link-color, 15%)} !default; diff --git a/src/styles/_bootstrap_variables_mapping.scss b/src/styles/_bootstrap_variables_mapping.scss index 0cfa811b004..d17b8a1cb20 100644 --- a/src/styles/_bootstrap_variables_mapping.scss +++ b/src/styles/_bootstrap_variables_mapping.scss @@ -89,7 +89,7 @@ --bs-zindex-popover: #{$zindex-popover}; --bs-zindex-sticky: #{$zindex-sticky}; - --bs-border-radius-lg: #{$bs-border-radius-lg}; + --bs-border-radius-lg: #{$border-radius-lg}; } diff --git a/src/styles/_custom_variables.scss b/src/styles/_custom_variables.scss index 5bc8a54ae9a..2a536492f19 100644 --- a/src/styles/_custom_variables.scss +++ b/src/styles/_custom_variables.scss @@ -22,26 +22,27 @@ --ds-header-bg: #{$ds-header-bg}; --ds-header-logo-height: 50px; - --ds-header-logo-height-xs: 50px; --ds-header-icon-color: #{$ds-header-icon-color}; --ds-header-icon-color-hover: #{$ds-header-icon-color-hover}; --ds-navbar-bg: #{$ds-navbar-bg}; --ds-navbar-item-vertical-padding: 0; --ds-navbar-item-horizontal-padding: 0.25rem; - --ds-navbar-dropdown-bg: #{$ds-navbar-dropdown-bg}; --ds-navbar-dropdown-item-vertical-padding: 0.5rem; --ds-navbar-dropdown-item-horizontal-padding: 1rem; --ds-navbar-link-color: #{$ds-navbar-link-color}; + --ds-navbar-link-bg: var(--ds-navbar-bg); --ds-navbar-link-color-hover: #{$ds-navbar-link-color-hover}; + --ds-navbar-link-bg-hover: var(--ds-navbar-link-bg); - --ds-header-navbar-border-top-color: #{$ds-header-navbar-border-bottom-color}; --ds-header-navbar-border-bottom-color: #{$ds-header-navbar-border-bottom-color}; + --ds-header-navbar-border-bottom-height: 1px; --ds-expandable-navbar-bg: #{$ds-expandable-navbar-bg}; - --ds-expandable-navbar-link-color: #{$body-color}; - --ds-expandable-navbar-link-color-hover: #{$body-color}; - --ds-expandable-navbar-link-background-hover: #{$ds-navbar-link-color-hover}; + --ds-expandable-navbar-link-color: #{$ds-navbar-link-color}; + --ds-expandable-navbar-link-bg: var(--ds-expandable-navbar-bg); + --ds-expandable-navbar-link-color-hover: #{$ds-navbar-link-color-hover}; + --ds-expandable-navbar-link-bg-hover: var(--ds-expandable-navbar-link-bg); --ds-expandable-navbar-item-vertical-padding: 0.25rem; --ds-user-menu-item-vertical-padding: 0.25rem; diff --git a/src/themes/custom/styles/_theme_css_variable_overrides.scss b/src/themes/custom/styles/_theme_css_variable_overrides.scss index 3ff54cbf8f8..9018fbcb25f 100644 --- a/src/themes/custom/styles/_theme_css_variable_overrides.scss +++ b/src/themes/custom/styles/_theme_css_variable_overrides.scss @@ -2,7 +2,6 @@ :root { //--ds-header-logo-height: 80px; - //--ds-header-logo-height-xs: 50px; //--ds-header-icon-color: #{$link-color}; //--ds-header-icon-color-hover: #{darken($link-color, 15%)}; } diff --git a/src/themes/dspace/app/header-nav-wrapper/header-navbar-wrapper.component.scss b/src/themes/dspace/app/header-nav-wrapper/header-navbar-wrapper.component.scss index 5293fdfb577..d969c45586a 100644 --- a/src/themes/dspace/app/header-nav-wrapper/header-navbar-wrapper.component.scss +++ b/src/themes/dspace/app/header-nav-wrapper/header-navbar-wrapper.component.scss @@ -45,10 +45,36 @@ // define here the style for top-level navbar menu items padding: var(--ds-navbar-item-vertical-padding) var(--ds-navbar-item-horizontal-padding); } - .ds-menu-item, .ds-menu-toggler-wrapper { - color: var(--ds-navbar-link-color) !important; + + .ds-menu-item-wrapper { + color: var(--ds-navbar-link-color); + background-color: var(--ds-navbar-link-bg); + + .toggle-menu-icon, .ds-menu-item:not(.dropdown-menu .ds-menu-item) { + color: var(--ds-navbar-link-color); + } + &:hover, &:focus { - color: var(--ds-navbar-link-color-hover) !important; + color: var(--ds-navbar-link-color-hover); + background-color: var(--ds-navbar-link-bg-hover); + + .toggle-menu-icon, .ds-menu-item:not(.dropdown-menu .ds-menu-item) { + color: var(--ds-navbar-link-color-hover); + } + + .dropdown-menu { + background-color: var(--ds-expandable-navbar-bg); + + .ds-menu-item { + color: var(--ds-expandable-navbar-link-color); + background-color: var(--ds-expandable-navbar-link-bg); + + &:hover, &:focus { + color: var(--ds-expandable-navbar-link-color-hover); + background-color: var(--ds-expandable-navbar-link-bg-hover); + } + } + } } } From 9e2405cdf09b87705520cd54824925ef664039af Mon Sep 17 00:00:00 2001 From: Alexandre Vryghem Date: Mon, 2 Feb 2026 18:44:23 +0100 Subject: [PATCH 2/4] 138319: Fixed small accessibility issues - Links with different destinations: the breadcrumbs & the header logo both point to the Home page but used different links - The accessibility settings page didn't have a h1 & didn't link its labels & input fields correctly - Add missing autocomplete attribute to feedback form & remove title on inputs - Disabled autocomplete on search navbar --- src/app/breadcrumbs/breadcrumbs.component.html | 2 +- src/app/breadcrumbs/breadcrumbs.component.spec.ts | 2 +- .../accessibility-settings.component.html | 14 ++++++-------- .../feedback-form/feedback-form.component.html | 6 +++--- src/app/search-navbar/search-navbar.component.html | 5 +++-- 5 files changed, 14 insertions(+), 15 deletions(-) diff --git a/src/app/breadcrumbs/breadcrumbs.component.html b/src/app/breadcrumbs/breadcrumbs.component.html index b16f46f082e..0d1dfc14730 100644 --- a/src/app/breadcrumbs/breadcrumbs.component.html +++ b/src/app/breadcrumbs/breadcrumbs.component.html @@ -3,7 +3,7 @@