50 react-aria warnings across the docs site and Storybook, all variations of "this element has no accessible name". Each one is a real a11y gap, not console noise.
If you do not provide a visible label, you must specify an aria-label or aria-labelledby attribute for accessibility
Stack traces put the warning inside react-aria's own components, reached from ours:
| Origin |
Where it shows |
DonutChart renders react-aria ProgressBar with no label |
data-visualisation-donutchart--default, --with-unit, --with-text-value |
Slider |
form-controls-slider--default, --with-format-options, 04-components/form-controls/slider |
Select |
form-controls-select--with-country-options, --with-country-options-and-custom-sort |
Modal |
overlays-modal--long-content |
ProgressBar |
04-components/status/progress-bar |
The docs examples for Slider and ProgressBar do pass a <Label>, so the warning comes from an inner react-aria element that never receives it — worth checking whether the label is forwarded, not just adding labels at the call site.
DonutChart has no label API at all today. Deciding what its ProgressBar should be called (or whether it should be aria-hidden with the value exposed elsewhere) is a UX question.
An aria-label or aria-labelledby prop is required for accessibility
15 occurrences, all from react-aria's GridListInner — i.e. List rendering a GridList with no accessible name:
structure-list-listitem--with-content, --with-action-group, --with-custom-tile-max-width, --with-checkbox, --with-column-layout
A textValue prop is required for <GridListItem> elements with non-plain text children
33 occurrences — the largest single group. Type-to-select does not work on these items.
structure-list--with-summary, --infinite-scroll, --with-accordion, structure-list-edge-cases--custom-sorting
Scope note
Fixing this properly needs decisions the code cannot make: any label that ships inside a component becomes UI text and belongs in locales/de-DE.locale.json + locales/en-US.locale.json, which follows product voice. Story-level labels are free.
Found while clearing the warnings in #3019.
50 react-aria warnings across the docs site and Storybook, all variations of "this element has no accessible name". Each one is a real a11y gap, not console noise.
If you do not provide a visible label, you must specify an aria-label or aria-labelledby attribute for accessibilityStack traces put the warning inside react-aria's own components, reached from ours:
DonutChartrenders react-ariaProgressBarwith no labeldata-visualisation-donutchart--default,--with-unit,--with-text-valueSliderform-controls-slider--default,--with-format-options,04-components/form-controls/sliderSelectform-controls-select--with-country-options,--with-country-options-and-custom-sortModaloverlays-modal--long-contentProgressBar04-components/status/progress-barThe docs examples for Slider and ProgressBar do pass a
<Label>, so the warning comes from an inner react-aria element that never receives it — worth checking whether the label is forwarded, not just adding labels at the call site.DonutCharthas no label API at all today. Deciding what itsProgressBarshould be called (or whether it should bearia-hiddenwith the value exposed elsewhere) is a UX question.An aria-label or aria-labelledby prop is required for accessibility15 occurrences, all from react-aria's
GridListInner— i.e.Listrendering aGridListwith no accessible name:structure-list-listitem--with-content,--with-action-group,--with-custom-tile-max-width,--with-checkbox,--with-column-layoutA textValue prop is required for <GridListItem> elements with non-plain text children33 occurrences — the largest single group. Type-to-select does not work on these items.
structure-list--with-summary,--infinite-scroll,--with-accordion,structure-list-edge-cases--custom-sortingScope note
Fixing this properly needs decisions the code cannot make: any label that ships inside a component becomes UI text and belongs in
locales/de-DE.locale.json+locales/en-US.locale.json, which follows product voice. Story-level labels are free.Found while clearing the warnings in #3019.