diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md
index 4b31c3188..7a9176371 100644
--- a/docs/CHANGELOG.md
+++ b/docs/CHANGELOG.md
@@ -1,5 +1,9 @@
# Changelog
+## [20.0.7] 📅 2026-06-29
+### Fixes
+- `@nova-ui/bits` | A11y fixes for nui-toolbar
+
## [20.0.5] 📅 2025-06-04
### Fixes
- `@nova-ui/bits` | A11y fixies for Home Summary
diff --git a/package.json b/package.json
index f16584c47..b65a89e64 100644
--- a/package.json
+++ b/package.json
@@ -129,7 +129,7 @@
"trigger-pipeline-build-ci": "bash scripts/trigger-pipeline-build",
"verify-ci": "bash scripts/verify-published"
},
- "version": "20.0.6",
+ "version": "20.0.7",
"workspaces": [
"packages/*"
]
diff --git a/packages/bits/package.json b/packages/bits/package.json
index 4f2039d23..e004b9963 100644
--- a/packages/bits/package.json
+++ b/packages/bits/package.json
@@ -133,6 +133,6 @@
"visual:watch": "npx watch \"yarn run visual:base\" src demo spec --watch=1"
},
"typings": "public_api.d.ts",
- "version": "20.0.6",
+ "version": "20.0.7",
"packageManager": "yarn@1.22.18"
}
diff --git a/packages/bits/schematics/package.json b/packages/bits/schematics/package.json
index 0f05b12b1..5f0f35103 100644
--- a/packages/bits/schematics/package.json
+++ b/packages/bits/schematics/package.json
@@ -1,7 +1,7 @@
{
"name": "nova-schematics",
"license": "Apache-2.0",
- "version": "20.0.6",
+ "version": "20.0.7",
"scripts": {
"assemble": "run-s build copy:json copy:data test copy:dist",
"build": "tsc -p tsconfig.json",
diff --git a/packages/bits/src/lib/button/button.component.html b/packages/bits/src/lib/button/button.component.html
index e512ee974..ea401fed9 100644
--- a/packages/bits/src/lib/button/button.component.html
+++ b/packages/bits/src/lib/button/button.component.html
@@ -12,6 +12,7 @@
[icon]="icon"
[iconSize]="getIconSize()"
[iconColor]="iconColor"
+ [decorative]="true"
>
diff --git a/packages/bits/src/lib/toolbar/toolbar-keyboard.service.spec.ts b/packages/bits/src/lib/toolbar/toolbar-keyboard.service.spec.ts
index d068bcbaa..525987a62 100644
--- a/packages/bits/src/lib/toolbar/toolbar-keyboard.service.spec.ts
+++ b/packages/bits/src/lib/toolbar/toolbar-keyboard.service.spec.ts
@@ -122,6 +122,36 @@ describe("Services > ", () => {
service.onKeyDown(rightButtonPressEvent);
expect(spy).toHaveBeenCalled();
});
+
+ it("should navigate to first element on pressing Home key", () => {
+ const items = service["toolbarItems"];
+ const first = items[0];
+ const last = items[items.length - 1];
+ const spy = spyOn(first, "focus");
+
+ last.focus();
+
+ service.onKeyDown({
+ ...keyboardEventMock,
+ code: KEYBOARD_CODE.HOME,
+ } as KeyboardEvent);
+ expect(spy).toHaveBeenCalled();
+ });
+
+ it("should navigate to last element on pressing End key", () => {
+ const items = service["toolbarItems"];
+ const first = items[0];
+ const last = items[items.length - 1];
+ const spy = spyOn(last, "focus");
+
+ first.focus();
+
+ service.onKeyDown({
+ ...keyboardEventMock,
+ code: KEYBOARD_CODE.END,
+ } as KeyboardEvent);
+ expect(spy).toHaveBeenCalled();
+ });
});
});
});
diff --git a/packages/bits/src/lib/toolbar/toolbar-keyboard.service.ts b/packages/bits/src/lib/toolbar/toolbar-keyboard.service.ts
index 5dbd28413..724da35d7 100644
--- a/packages/bits/src/lib/toolbar/toolbar-keyboard.service.ts
+++ b/packages/bits/src/lib/toolbar/toolbar-keyboard.service.ts
@@ -44,6 +44,16 @@ export class ToolbarKeyboardService {
this.navigateByArrow(code);
}
+ if (code === KEYBOARD_CODE.HOME) {
+ event.preventDefault();
+ this.focusFirst();
+ }
+
+ if (code === KEYBOARD_CODE.END) {
+ event.preventDefault();
+ this.focusLast();
+ }
+
if (code === KEYBOARD_CODE.TAB) {
this.closeMenuIfOpened();
}
diff --git a/packages/bits/src/lib/toolbar/toolbar.component.ts b/packages/bits/src/lib/toolbar/toolbar.component.ts
index 9df4d3546..e8913c83b 100644
--- a/packages/bits/src/lib/toolbar/toolbar.component.ts
+++ b/packages/bits/src/lib/toolbar/toolbar.component.ts
@@ -65,6 +65,9 @@ import { MenuComponent } from "../menu";
host: {
class: "nui-toolbar nui-strip-layout nui-flex-container",
role: "toolbar",
+ "[attr.aria-label]": "ariaLabel || null",
+ "[attr.aria-labelledby]": "ariaLabelledBy || null",
+ "[attr.aria-orientation]": "ariaOrientation || null",
},
styleUrls: ["./toolbar.component.less"],
encapsulation: ViewEncapsulation.None,
@@ -78,6 +81,12 @@ export class ToolbarComponent implements AfterViewInit, OnDestroy {
@ContentChildren(ToolbarItemComponent, { descendants: true })
public items: QueryList;
+ @Input() public ariaLabel?: string;
+
+ @Input() public ariaLabelledBy?: string;
+
+ @Input() public ariaOrientation?: "horizontal" | "vertical";
+
@Input()
/**
* selectionEnabled: boolean which allows to show selected section
diff --git a/packages/charts/package.json b/packages/charts/package.json
index 04e2a7b15..555f98cd2 100644
--- a/packages/charts/package.json
+++ b/packages/charts/package.json
@@ -45,7 +45,7 @@
"license": "Apache-2.0",
"name": "@nova-ui/charts",
"dependencies": {
- "@nova-ui/bits": "~20.0.6"
+ "@nova-ui/bits": "~20.0.7"
},
"peerDependencies": {
"@types/d3": "^5.0.0",
@@ -114,5 +114,5 @@
"visual:gui": "yarn run visual:base -c gui",
"visual:serve": "yarn run visual:base -c serve"
},
- "version": "20.0.6"
-}
\ No newline at end of file
+ "version": "20.0.7"
+}
diff --git a/packages/dashboards/package.json b/packages/dashboards/package.json
index ac7e807a4..d13064d70 100644
--- a/packages/dashboards/package.json
+++ b/packages/dashboards/package.json
@@ -41,8 +41,8 @@
"license": "Apache-2.0",
"name": "@nova-ui/dashboards",
"dependencies": {
- "@nova-ui/bits": "~20.0.6",
- "@nova-ui/charts": "~20.0.6"
+ "@nova-ui/bits": "~20.0.7",
+ "@nova-ui/charts": "~20.0.7"
},
"devDependencies": {
"@apollo/client": "3.13.9",
@@ -116,5 +116,5 @@
"visual:gui": "yarn run visual:base -c gui",
"visual:serve": "yarn run visual:base -c serve"
},
- "version": "20.0.6"
-}
\ No newline at end of file
+ "version": "20.0.7"
+}
diff --git a/packages/dashboards/schematics/package.json b/packages/dashboards/schematics/package.json
index b37664889..3c01daa94 100644
--- a/packages/dashboards/schematics/package.json
+++ b/packages/dashboards/schematics/package.json
@@ -1,7 +1,7 @@
{
"name": "dashboards-schematics",
"license": "Apache-2.0",
- "version": "20.0.6",
+ "version": "20.0.7",
"scripts": {
"assemble": "run-s build copy:json copy:data test copy:dist",
"build": "tsc -p tsconfig.json",