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" #8700

@IvyYang01

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

No one assigned

    Labels

    No labels
    No labels

    Type

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions