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
Flutter Web: aria-describedby must be an available property on all component types (Accessibility) #162140
The WAI-ARIA property aria-describedby must be available on all Flutter component types/widgets to provide more information about an element that the user might need.
Proposal
Add the WAI-ARIA property aria-describedby to the list of semantics flags on all Flutter component types/widgets. Its value must only be the ID of another text string element on the page (text strings are not a valid value for aria-describedby). Multiple ID's can be listed (each separated by a single space) in order to form a single accessible description.
I think my #162094 (comment) over in the aria-labelledby issue applies to aria-describedby too. Essentially, if we have enough semantic properties - label, hint, value - to describe a node, then app code can use a Dart variable too apply the same label/description to multiple widgets. aria-labelledby seems to exist in HTML mostly because HTML doesn't support variables.
Context: currently the closest thing to ARIA description Flutter has is hint. However, right now all we do is concatenate it with the label. This works for some screen readers, but not all. For example, JAWS will read label => widget type => description. However, our approach causes it to read label => description => widget type. Since description can be long, the user has to wait before they will be given the widget type.
Action: Flutter will implement the hint property in terms of ARIA description. The available options are aria-description and aria-describedby. Since aria-description is introduced with ARIA 1.3, we'll need to first investigate its availability across browsers (caniuse is optimistic, but MDN is less so). As part of that Flutter will incorporate a workaround for the JAWs bug that causes it to not read description when it's not accompanied by a label.
This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.
Activity
chunhtai commentedon Feb 3, 2025
I think you can workaround this by providing your own Semantics(hint:), is there a use case that you have to do it by using describedby?
yjbanov commentedon Mar 6, 2025
I think my #162094 (comment) over in the
aria-labelledbyissue applies toaria-describedbytoo. Essentially, if we have enough semantic properties -label,hint,value- to describe a node, then app code can use a Dart variable too apply the same label/description to multiple widgets.aria-labelledbyseems to exist in HTML mostly because HTML doesn't support variables.yjbanov commentedon Apr 17, 2025
We've decided to address this issue as follows:
Split hint from label and expose it via aria-description or aria-desc…
flutter-zl commentedon Jun 17, 2025
This issue was fixed by #169157. Feel free to reopen this issue if issue still persists.
github-actions commentedon Jul 1, 2025
This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of
flutter doctor -vand a minimal reproduction of the issue.