Accessibility: several admin controls have no accessible name (blocks/array rows, select fields, document menu, upload, logo link) #18633
Description
Payload version: 3.90.2 (Next.js 16.3.3, @payloadcms/db-postgres, admin language German)
Several interactive elements in the admin render without an accessible name or state, so screen readers announce them only as "button" (WCAG 4.1.2, 2.4.4, 2.4.6, 3.3.2).
Steps to reproduce: open a document with a blocks or array field containing at least two rows, the media create view and the dashboard; run axe-core or inspect the accessibility tree.
| Where | Element | Actual | Expected |
|---|---|---|---|
| Blocks/array row | button.popup-button.array-actions__button |
no name | e.g. "Actions for block 2 (Notice)" |
| Blocks/array row | drag handle .collapsible__drag (role="button") |
no name | e.g. "Move block 2 (Notice)" |
| Blocks/array row | .collapsible__toggle |
same name "Toggle block" on every row, no aria-expanded |
row number and type in the name, aria-expanded |
| Blocks/array row | .section-title__input (custom row label) |
only placeholder "Untitled" | a label such as "Custom name for block 2" |
| Blocks field header | clipboard popup-button |
no name | "Copy and paste" |
| Document controls | … popup-button |
no name | "More actions" |
| Select fields (react-select) | input[role=combobox] |
label for points at the wrapper, input has no name |
aria-labelledby pointing at the field label |
| Upload | .file-details__remove |
no name | "Remove file" |
| Header | a.step-nav__home |
only title on an inner span |
aria-label "Dashboard" |
All of these could use existing translation keys (general:actions, general:moreOptions etc.) and the row index/block label the components already have.
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.
Activity
JessRynkar commentedon Oct 9, 2026
Thanks for documenting these! 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.