Describe the bug
In [List.js|vscode-webview://11oe405gl734q74e6irajak825tlct3qm689s3j7pi5lpuc1u3d3/node_modules/@ui5/webcomponents/dist/List.js], the ariaDescriptionText getter unconditionally appends LIST_ROLE_DESCRIPTION whenever accessibleRole === "List" (the default), with no check on the interactivity of the items:
{{get ariaDescriptionText() {
const parts = [];
if (this.accessibleRole === ListAccessibleRole.List)
{ parts.push(this.defaultAriaDescriptionText); // always added }
...
}
get defaultAriaDescriptionText()
{ return List_1.i18nBundle.getText(LIST_ROLE_DESCRIPTION); // "List with interactive items. To move to the content press F2." }
}}
Suggested fix: Conditionally apply LIST_ROLE_DESCRIPTION only when at least one item has type="Active" or type="Navigation":
{{get ariaDescriptionText() {
const parts = [];
if (this.accessibleRole === ListAccessibleRole.List && this._hasActiveItems)
{ parts.push(this.defaultAriaDescriptionText); }
...
}}}
Isolated Example
No response
Reproduction steps
...
Expected Behaviour
When all ListItemStandard children have type="Inactive" (or type="Detail"), the list contains no interactive items. The LIST_ROLE_DESCRIPTION should not be added to aria-description in this case, as it misleads non-sighted users into expecting interactive behavior and pressing F2 unnecessarily.
Screenshots or Videos
No response
UI5 Web Components for React Version
2.22.1
UI5 Web Components Version
2.22.0
Browser
Chrome
Operating System
No response
Additional Context
No response
Relevant log output
Organization
No response
Declaration
Describe the bug
In [List.js|vscode-webview://11oe405gl734q74e6irajak825tlct3qm689s3j7pi5lpuc1u3d3/node_modules/@ui5/webcomponents/dist/List.js], the ariaDescriptionText getter unconditionally appends LIST_ROLE_DESCRIPTION whenever accessibleRole === "List" (the default), with no check on the interactivity of the items:
{{get ariaDescriptionText() {
const parts = [];
if (this.accessibleRole === ListAccessibleRole.List)
{ parts.push(this.defaultAriaDescriptionText); // always added }
...
}
get defaultAriaDescriptionText()
{ return List_1.i18nBundle.getText(LIST_ROLE_DESCRIPTION); // "List with interactive items. To move to the content press F2." }
}}
Suggested fix: Conditionally apply LIST_ROLE_DESCRIPTION only when at least one item has type="Active" or type="Navigation":
{{get ariaDescriptionText() {
const parts = [];
if (this.accessibleRole === ListAccessibleRole.List && this._hasActiveItems)
{ parts.push(this.defaultAriaDescriptionText); }
...
}}}
Isolated Example
No response
Reproduction steps
...
Expected Behaviour
When all ListItemStandard children have type="Inactive" (or type="Detail"), the list contains no interactive items. The LIST_ROLE_DESCRIPTION should not be added to aria-description in this case, as it misleads non-sighted users into expecting interactive behavior and pressing F2 unnecessarily.
Screenshots or Videos
No response
UI5 Web Components for React Version
2.22.1
UI5 Web Components Version
2.22.0
Browser
Chrome
Operating System
No response
Additional Context
No response
Relevant log output
Organization
No response
Declaration