-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Description
Describe the bug
Storybook’s accessibility addon identifies problems with the PrimeVue Password component. When used inline, the component does not assign a role to its panel section, even though the section defines an aria-label. Because aria-label must always be associated with an explicit role, this omission results in an accessibility violation. Role application seems most applicable?
Another issue arises with the day elements, which set the aria-selected attribute without specifying a corresponding role. While assigning an option role initially seemed appropriate, that approach requires the parent element to have either a group or listbox role, both of which introduce further violations. The effective solution is to assign role="gridcell" to the daycell section. This aligns with the existing hierarchy, as the parent elements already use role="grid". Note that I also added role="row" to be more correct. The final step is to move the aria-selected attribute from the day section to the daycell section, ensuring it resides on an element that correctly defines a role.
Pull Request Link
Reason for not contributing a PR
- Lack of time
- Unsure how to implement the fix/feature
- Difficulty understanding the codebase
- Other
Other Reason
No response
Reproducer
https://stackblitz.com/edit/primevue-4-vite-issue-template-ypchq8br?file=src%2FApp.vue
Environment
Not applicable.
Vue version
3.5.20
PrimeVue version
4.3.9
Node version
22.x
Browser(s)
Not applicable.
Steps to reproduce the behavior
Not applicable.
Expected behavior
Not applicable.