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 support for embedded Android views #19418
Current plan (Android): when a native view is created, call some method on the flutter view or accessibility bridge to register the value. When the a11y tree is created on the framework side, insert a node for the native render object with some flag/id that matches the internal registry. Then either when the semantics tree is updated or when the view is inserted, match the id of the native view with the semantics node containing the special tag and send a content changed event
This requires a new SemanticsFlag, probably something like isExternalView. The semantics node which contained this flag could only have this flag and a label, which would be the serialized identifier used by the native view registry.
Per offline discussion: It is not currently possible to determine the correct parent-child relationship for an Android view with synthetic (not based on a View hierarchy) accessibility tree, such as a web view. The nodes can be obtained, there just isn't anything we can do with them.
There may be another API we need to provide to embedded views to communicate 1) what the full accessibility node hierarchy is and 2) when to update it/receive events.
This has been fixed in 1.22 - use hybrid composition to make an Android view fully accessible. Hybrid composition should work 100% of the times just like any other Android view inside a vanilla Android app.
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
jonahwilliams commentedon Jul 16, 2018
Current plan (Android): when a native view is created, call some method on the flutter view or accessibility bridge to register the value. When the a11y tree is created on the framework side, insert a node for the native render object with some flag/id that matches the internal registry. Then either when the semantics tree is updated or when the view is inserted, match the id of the native view with the semantics node containing the special tag and send a content changed event
jonahwilliams commentedon Jul 16, 2018
This requires a new SemanticsFlag, probably something like
isExternalView. The semantics node which contained this flag could only have this flag and a label, which would be the serialized identifier used by the native view registry.jonahwilliams commentedon Aug 8, 2018
Per offline discussion: It is not currently possible to determine the correct parent-child relationship for an Android view with synthetic (not based on a View hierarchy) accessibility tree, such as a web view. The nodes can be obtained, there just isn't anything we can do with them.
There may be another API we need to provide to embedded views to communicate 1) what the full accessibility node hierarchy is and 2) when to update it/receive events.
Reassigning to @amirh for planning.
33 remaining items
chinmaygarde commentedon Sep 14, 2020
Per Ray, this should be fixed in 1.22. That is under verification right now.
blasten commentedon Sep 14, 2020
This is fixed in 1.22. @bparrishMines PR should be the last step prior to closing this issue.
chinmaygarde commentedon Sep 21, 2020
Can you update the milestone of this issue please?
blasten commentedon Sep 21, 2020
@chinmaygarde added label
waiting for PR to land (fixed)blasten commentedon Oct 14, 2020
This has been fixed in 1.22 - use hybrid composition to make an Android view fully accessible. Hybrid composition should work 100% of the times just like any other Android view inside a vanilla Android app.
https://flutter.dev/docs/development/platform-integration/platform-views?tab=android-platform-views-kotlin-tab#hybrid-composition
github-actions commentedon Aug 8, 2021
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.