You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
bug(aria/menu): menu item erroneously binds value to aria-label #32893
Yes, this behavior used to work in the previous version
The previous version in which this bug was not present was
No response
Description
Currently, the ngMenuItem directive in src/aria/menu/menu-item.ts binds its value() input to the host element's aria-label attribute ('[attr.aria-label]': 'value()').
This is highly problematic for several reasons:
Couples logic with UI state:value is typically an internal identifier/payload for app logic, not an accessibility label.
Breaks i18n: If value is an enum or ID, screen readers will announce raw, non-localized data.
Removes developer control: The host binding inherently overwrites any explicit aria-label a developer tries to apply to the element.
A11y Anti-pattern: Elements with role="menuitem" naturally derive their accessible name from their textContent. We should not force an aria-label override by default.
Proposed Fix
Remove '[attr.aria-label]': 'value()' from the host bindings of MenuItem and update the accompanying JSDoc for the value input. I would be happy to submit a PR for this!
Activity
fix(aria/menu): remove aria-label binding from menu item value
fix(aria/menu): remove aria-label binding from menu item value
fix(aria/menu): do not set default aria-label (#33202)
fix(aria/menu): do not set default aria-label (#33202)
angular-automatic-lock-bot commentedon Jun 5, 2026
This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.
Read more about our automatic conversation locking policy.
This action has been performed automatically by a bot.