Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support on Flutter for using accessibilityIdentifier (UIAccessibilityIdentification) on iOS? #21140

Closed
asalmasi opened this issue Aug 29, 2018 · 7 comments
Labels
a: accessibility Accessibility, e.g. VoiceOver or TalkBack. (aka a11y) a: tests "flutter test", flutter_test, or one of our tests framework flutter/packages/flutter repository. See also f: labels. t: flutter driver "flutter driver", flutter_drive, or a driver test

Comments

@asalmasi
Copy link

asalmasi commented Aug 29, 2018

Does the Semantics class in Flutter provide any way to map Widgets to an accessibilityIdentifier on iOS side? We rely on Appium for testing and the Flutter driver is not sufficient for meeting our testing needs. Is there any plan on the road-map for Flutter to support this soon?

@zoechi zoechi added framework flutter/packages/flutter repository. See also f: labels. a: accessibility Accessibility, e.g. VoiceOver or TalkBack. (aka a11y) labels Aug 29, 2018
@jonahwilliams
Copy link
Member

@asalmasi I would love it if you would share what features flutter_driver needs or any improvements we could make. Regarding UIAccessibilityIdentification, we don't have a way to provide a stable mapping to that value from widgets and no plans for that to change.

@asalmasi
Copy link
Author

@jonahwilliams Hi Jonah, thanks for getting back to me! We are a large company that is planning to move our apps to Flutter and our testing framework currently automates the interaction of our BLE device with our mobile app. Because there are multiple components that must be automated during the testing process, the orchestration of this testing process cannot be driven only from the mobile app side using Flutter driver since there needs to be a coordination for the interaction between our BLE device and mobile app that technically can only happen outside the mobile app since the mobile app has no way to simulate the BLE device. Currently, our orchestration framework is written in Python since our BLE device has a simulator written in Python and we issue UI commands to our mobile app using Appium's Python library. To successfully issue UI commands to our mobile app using Appium's Python library, Appium expects that every UIView that we plan to interact with must have an accessibilityIdentifier. Currently, Flutter does not provide a mapping from Widgets to an accessibilityIdentifier which not only makes it difficult to automate testing, but also to utilize the maximum level of accessibility features provided on iOS which many of our users depend on. I was curious if Flutter was planning to provide this support since being able to utilize the maximum level of accessibility features that both Android and iOS provide are truly necessary to not only building production grade apps, but also truly being a truly cross-platform framework as advertised. Thanks!

@jonahwilliams
Copy link
Member

Sorry for the delay in getting back to you, to summarize:

We do produce UIAccessibilityElements from a widget tree and flutter should be as accessible as a native app (modulo some bugs we have filled and if you find any please file issues). From my understanding, UIAccessibilityIdentification is not required for accessibility, it is just used for automation scripts. Perhaps we need a better strategy for incorporating flutter tests into native tests?

Is it not possible to test your BLE interaction using a platform_channel and flutter_driver?

cc @matthew-carroll

@zoechi zoechi added a: tests "flutter test", flutter_test, or one of our tests t: flutter driver "flutter driver", flutter_drive, or a driver test labels Sep 8, 2018
@Wanghuayin
Copy link

Wanghuayin commented Oct 9, 2018

@jonahwilliams do you have any suggestion for this issue? Does the flutter driver have plans to support the hybrid app?

@zoechi
Copy link
Contributor

zoechi commented Oct 29, 2018

Is this a dup of #17988 ?

@dnfield
Copy link
Contributor

dnfield commented Nov 19, 2018

Duplicate of #17988

@dnfield dnfield marked this as a duplicate of #17988 Nov 19, 2018
@dnfield dnfield closed this as completed Nov 19, 2018
@github-actions
Copy link

github-actions bot commented Sep 1, 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 -v and a minimal reproduction of the issue.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 1, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
a: accessibility Accessibility, e.g. VoiceOver or TalkBack. (aka a11y) a: tests "flutter test", flutter_test, or one of our tests framework flutter/packages/flutter repository. See also f: labels. t: flutter driver "flutter driver", flutter_drive, or a driver test
Projects
None yet
Development

No branches or pull requests

5 participants