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
Accessibility: field errors and descriptions are not programmatically associated with the input #18636
Payload version: 3.90.2 (Next.js 16.3.3, @payloadcms/db-postgres, admin language German)
Field error messages and field descriptions are rendered next to the input but are not linked to it, and invalid inputs get no aria-invalid (WCAG 1.3.1, 3.3.1). The error is rendered as an aside, so it additionally appears as a complementary landmark.
Steps to reproduce: create a document with a required text field that has admin.description, submit it empty, inspect the input in the accessibility tree.
Actual: the input has no accessible description and no invalid state; screen reader users are not told what is wrong.
Expected:aria-describedby on the input pointing at the error and description ids, aria-invalid="true" while the field has an error, and no landmark role on the error.
This touches the shared field components, so we'd like to agree on the approach first.
How we found it: axe-core (tags wcag2a, wcag2aa, wcag21a, wcag21aa, wcag22aa) via @axe-core/playwright plus keyboard-only tests of the admin. Our current workaround is a client provider (admin.components.providers) that patches the missing attributes into the DOM.
Happy to help with a PR if the direction is agreed.
Thanks for reporting. Leaving the same comment as I did here:
We’re currently working through an internal accessibility audit, and these reports overlap with findings we already have tracked and underway. I’ll keep these issues open until that work is complete so we can cross-reference your reports and make sure nothing was missed.
Activity
JessRynkar commentedon Oct 9, 2026
Thanks for reporting. Leaving the same comment as I did here:
We’re currently working through an internal accessibility audit, and these reports overlap with findings we already have tracked and underway. I’ll keep these issues open until that work is complete so we can cross-reference your reports and make sure nothing was missed.