Skip to content

[List]: LIST_ROLE_DESCRIPTION ("List with interactive items. To move to the content press F2.") is announced by screen readers even when all list items are type="Inactive" #13713

Description

@IvyYang01

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

  • I’m not disclosing any internal or sensitive information.

Metadata

Metadata

Assignees

Labels

Type

Fields

No fields configured for Bug.

Projects

Status
Completed

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions