From b0f44d2c4b216031a1c1a3b260c37f364ac3b1b9 Mon Sep 17 00:00:00 2001 From: Nikola Anachkov Date: Fri, 6 Mar 2026 11:08:23 +0200 Subject: [PATCH 1/2] fix(ui5-select): use accessibleName for option announcements --- packages/main/src/Select.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/main/src/Select.ts b/packages/main/src/Select.ts index 40c91d54ef6d..182204d73dbe 100644 --- a/packages/main/src/Select.ts +++ b/packages/main/src/Select.ts @@ -88,6 +88,7 @@ interface IOption extends UI5Element { text?: Array, stableDomRef: string, displayText?: string, + accessibleName?: string, } type SelectChangeEventDetail = { @@ -1110,7 +1111,8 @@ class Select extends UI5Element implements IFormElement { const itemPositionText = Select.i18nBundle.getText(LIST_ITEM_POSITION, this._selectedIndex + 1, optionsCount); if (this.focused && this._currentlySelectedOption) { - text = `${this._currentlySelectedOption.textContent as string} ${this._isPickerOpen ? itemPositionText : ""}`; + const optionText = this._currentlySelectedOption.accessibleName || this._currentlySelectedOption.textContent as string; + text = `${optionText}${this._isPickerOpen ? `, ${itemPositionText}` : ""}`; announce(text, InvisibleMessageMode.Polite); } From 07f5ab0dcdd49a782914eec0e4a04f04c4138158 Mon Sep 17 00:00:00 2001 From: Nikola Anachkov Date: Fri, 6 Mar 2026 12:25:48 +0200 Subject: [PATCH 2/2] chore: add test and update chromedriver to 145 --- packages/base/package.json | 2 +- packages/fiori/package.json | 2 +- packages/localization/package.json | 2 +- packages/main/package.json | 2 +- packages/main/test/specs/SelectMenu.spec.js | 16 ++++++++++++++++ 5 files changed, 20 insertions(+), 4 deletions(-) diff --git a/packages/base/package.json b/packages/base/package.json index 0f6df3c964b8..2909204f1a5f 100644 --- a/packages/base/package.json +++ b/packages/base/package.json @@ -46,7 +46,7 @@ "devDependencies": { "@openui5/sap.ui.core": "1.120.17", "@ui5/webcomponents-tools": "1.24.26", - "chromedriver": "^143.0.4", + "chromedriver": "^145.0.0", "clean-css": "^5.2.2", "copy-and-watch": "^0.1.5", "cross-env": "^7.0.3", diff --git a/packages/fiori/package.json b/packages/fiori/package.json index aba64d248553..b1684af75dab 100644 --- a/packages/fiori/package.json +++ b/packages/fiori/package.json @@ -54,6 +54,6 @@ }, "devDependencies": { "@ui5/webcomponents-tools": "1.24.26", - "chromedriver": "^143.0.4" + "chromedriver": "^145.0.0" } } diff --git a/packages/localization/package.json b/packages/localization/package.json index 41bdac848481..d1f070d9b918 100644 --- a/packages/localization/package.json +++ b/packages/localization/package.json @@ -35,7 +35,7 @@ "@openui5/sap.ui.core": "1.120.17", "@ui5/webcomponents-tools": "1.24.26", "babel-plugin-amd-to-esm": "^2.0.3", - "chromedriver": "^143.0.4", + "chromedriver": "^145.0.0", "estree-walk": "^2.2.0", "mkdirp": "^1.0.4", "resolve": "^1.20.0" diff --git a/packages/main/package.json b/packages/main/package.json index 47b0e3dbbd51..87d795fa6993 100644 --- a/packages/main/package.json +++ b/packages/main/package.json @@ -57,6 +57,6 @@ }, "devDependencies": { "@ui5/webcomponents-tools": "1.24.26", - "chromedriver": "^143.0.4" + "chromedriver": "^145.0.0" } } diff --git a/packages/main/test/specs/SelectMenu.spec.js b/packages/main/test/specs/SelectMenu.spec.js index 0bafdfe90032..146dbb2c9684 100644 --- a/packages/main/test/specs/SelectMenu.spec.js +++ b/packages/main/test/specs/SelectMenu.spec.js @@ -150,4 +150,20 @@ describe("Select Menu general interaction", () => { assert.strictEqual(await inpTestChange.getProperty("value"), "1", "Change event should be fired after focus out"); }); + + it("Tests accessible-name on SelectMenuOption", async () => { + const menu = await browser.$("#selectOptions"); + const options = await menu.$$("ui5-select-menu-option"); + + const EXPECTED_FIRST_OPTION_ACCESSIBLE_NAME = "T-shirt size S"; + const EXPECTED_SECOND_OPTION_ACCESSIBLE_NAME = "Dress size M"; + const EXPECTED_THIRD_OPTION_ACCESSIBLE_NAME = "Skirt size L"; + + assert.strictEqual(await options[0].getProperty("accessibleName"), EXPECTED_FIRST_OPTION_ACCESSIBLE_NAME, + "The accessible-name property on first ui5-select-menu-option is correctly set."); + assert.strictEqual(await options[1].getProperty("accessibleName"), EXPECTED_SECOND_OPTION_ACCESSIBLE_NAME, + "The accessible-name property on second ui5-select-menu-option is correctly set."); + assert.strictEqual(await options[2].getProperty("accessibleName"), EXPECTED_THIRD_OPTION_ACCESSIBLE_NAME, + "The accessible-name property on third ui5-select-menu-option is correctly set."); + }); });