Add accessibility identifier to SemanticsProperties#138331
Add accessibility identifier to SemanticsProperties#138331auto-submit[bot] merged 16 commits intoflutter:masterfrom bartekpacia:feature/accessibility_identifier
SemanticsProperties#138331Conversation
chunhtai
left a comment
There was a problem hiding this comment.
which accessibilitynodeinfo property would this new identifier set to? There doesn't seem to be a resourceId in the accessibilitynodeinfo https://developer.android.com/reference/android/view/accessibility/AccessibilityNodeInfo
chunhtai
left a comment
There was a problem hiding this comment.
ah it is viewIdResourceName just saw the engine pr
There was a problem hiding this comment.
This doc seems a bit confusing. The UIAutomator interact with semantics node, not renderObject.
There was a problem hiding this comment.
Good catch, thank you. I'm still new to this code. Will fix.
There was a problem hiding this comment.
Here I took inspiration from other SemanticsConfiguration fields, e.g.:
What'd you change?
chunhtai
left a comment
There was a problem hiding this comment.
LGTM, just some nit picking
|
Thank you - I applied your suggestions. |
…ndroid (#47961) Accompanying framework PR: flutter/flutter#138331 This PR implements support for exposing `SemanticsProperties.identifier` on Android as `resource-id`. Mainly targeted at flutter/flutter#17988. Would also fix https://github.com/flutter/flutter/issues/issues/137735 but it was marked as duplicate. Anyway, there's a lot of context in that issue. This PR requires changing the `SemanticsUpdateBuilder` interface (defined in engine) that framework depends on, so it requires introducing a temporary API ([see question I asked on Discord](https://discord.com/channels/608014603317936148/608018585025118217/1174845658033819729) to learn more about this approach). Steps: **part 1: [engine] add `SemanticsUpdateBuilderNew`** <-- we are here part 2: [flutter] use `SemanticsUpdateBuilderNew` part 3: [engine] update `SemanticsUpdateBuilder` to be the same as `SemanticsUpdateBuilderNew`* part 4: [flutter] use (now updated) `SemanticsUpdateBuilder` again. part 5: [engine] remove `SemanticsBuilderNew` I'd like to do these changes first, and only then continue with [the proper framework PR](flutter/flutter#138331). *More specifically: update `SemanticsUpdateBuilder.updateNode()` to be the same as `SemanticsUpdateBuilderNew.updateNode()`. Number of arguments that function takes is the only change. [C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
|
@bartekpacia the latest "Linux customer_testing" bot failure says it grabbed devtools commit 914356dedc97b4bafc33cc3f9c0334fefbb3417f. Not sure why... |
|
Yeah, indeed. At first I thought the commit is maybe pinned elsewhere but nope. |
Co-authored-by: chunhtai <[email protected]>
This PR adds `String? identifier` to `SemanticsUpdateBuilder` (currently it's only available in the temproary `SemanticsUpdateBuilderNew` API. This is mainly targeted at flutter/flutter#17988 Steps: part 1: [engine] add `SemanticsUpdateBuilderNew` #47961 part 2: [flutter] use `SemanticsUpdateBuilderNew` flutter/flutter#138331 **part 3: [engine] update `SemanticsUpdateBuilder` to be the same as `SemanticsUpdateBuilderNew`** <-- we are here part 4: [flutter] use (now updated) `SemanticsUpdateBuilder` again. part 5: [engine] remove `SemanticsBuilderNew`
Manual roll requested by [email protected] flutter/flutter@c642f4e...9719097 2023-12-11 [email protected] Roll Flutter Engine from 5587d26aa2d4 to 4c309195b79d (1 revision) (flutter/flutter#139936) 2023-12-11 [email protected] Fix SelectionArea select-word edge cases (flutter/flutter#136920) 2023-12-11 [email protected] Roll Flutter Engine from 9b85b76db0de to 5587d26aa2d4 (3 revisions) (flutter/flutter#139933) 2023-12-11 [email protected] Roll Flutter Engine from 7eb6b7cab60c to 9b85b76db0de (2 revisions) (flutter/flutter#139931) 2023-12-11 [email protected] Use dart analyze package for `num.clamp` (flutter/flutter#139867) 2023-12-11 [email protected] Roll pub packages (flutter/flutter#139926) 2023-12-11 [email protected] Handle the case when _CupertinoBackGestureDetector is disposed during the drag. (flutter/flutter#139585) 2023-12-11 [email protected] Add accessibility identifier to `SemanticsProperties` (flutter/flutter#138331) 2023-12-11 [email protected] Improve slider's value indicator display test (flutter/flutter#139198) 2023-12-11 [email protected] Add `enabled` property to `ExpansionTile` (flutter/flutter#139519) 2023-12-11 [email protected] Roll Packages from 6cd0657 to cb6dbcd (9 revisions) (flutter/flutter#139911) 2023-12-11 [email protected] Roll Flutter Engine from bc0222b64c96 to 7eb6b7cab60c (1 revision) (flutter/flutter#139891) 2023-12-10 [email protected] Roll Flutter Engine from fb80aafd259b to bc0222b64c96 (1 revision) (flutter/flutter#139885) 2023-12-09 [email protected] Roll pub packages (flutter/flutter#139864) 2023-12-09 [email protected] Roll Flutter Engine from b75960a5820a to fb80aafd259b (1 revision) (flutter/flutter#139863) 2023-12-09 [email protected] Roll Flutter Engine from e80c090d09c6 to b75960a5820a (1 revision) (flutter/flutter#139853) 2023-12-09 [email protected] Roll Flutter Engine from 101396fd3b82 to e80c090d09c6 (2 revisions) (flutter/flutter#139851) 2023-12-09 [email protected] Roll Flutter Engine from 503584615fd7 to 101396fd3b82 (2 revisions) (flutter/flutter#139847) 2023-12-09 [email protected] Roll Flutter Engine from e9cb19fa637a to 503584615fd7 (1 revision) (flutter/flutter#139837) 2023-12-08 [email protected] Roll Flutter Engine from 7dc51b85a634 to e9cb19fa637a (1 revision) (flutter/flutter#139831) 2023-12-08 [email protected] [flutter release] Add cherry pick template for pull request description (flutter/flutter#139590) 2023-12-08 [email protected] Roll Flutter Engine from 03c5f016e919 to 7dc51b85a634 (1 revision) (flutter/flutter#139829) 2023-12-08 [email protected] Add Overlay.wrap for convenience (flutter/flutter#139823) 2023-12-08 [email protected] Roll Flutter Engine from 72da960e2ef2 to 03c5f016e919 (1 revision) (flutter/flutter#139826) 2023-12-08 [email protected] Roll Flutter Engine from 5dd2619c282b to 72da960e2ef2 (1 revision) (flutter/flutter#139821) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
…y `SemanticsUpdateBuilderNew` (#139942) This PR removes all usages of the temporary `SemanticsUpdateBuilderNew` API in favor of `SemanticsUpdateBuilder`. These two APIs are the same as of now. This is mainly targeted at #17988 Steps: part 1: [engine] add `SemanticsUpdateBuilderNew` flutter/engine#47961 part 2: [flutter] use `SemanticsUpdateBuilderNew` #138331 part 3: [engine] update `SemanticsUpdateBuilder` to be the same as `SemanticsUpdateBuilderNew` flutter/engine#48882 **part 4: [flutter] use (now updated) `SemanticsUpdateBuilder` again** <-- we are here part 5: [engine] remove `SemanticsBuilderNew`
) This PR completest the migration by removing `SemanticsUpdateBuilderNew` from the engine. This is mainly targeted at flutter/flutter#17988 Steps: part 1: [engine] add `SemanticsUpdateBuilderNew` #47961 part 2: [flutter] use `SemanticsUpdateBuilderNew` flutter/flutter#138331 part 3: [engine] update `SemanticsUpdateBuilder` to be the same as `SemanticsUpdateBuilderNew` #48882 part 4: [flutter] use (now updated) `SemanticsUpdateBuilder` again flutter/flutter#139942 **part 5: [engine] remove `SemanticsBuilderNew`** <-- we are here
This PR adds
String? identifiertoSemanticsandSemanticsProperties. Theidentifierwill be exposed on Android asresource-idand on iOS asaccessibilityIdentifier.Mainly targeted at #17988
Initial Engine PR with Android support: flutter/engine#47961
iOS Engine PR: flutter/engine#48858
Migration
This change breaks the SemanticsUpdateBuilder API which is on the Framework<-->Engine border. For more details see engine PR.
Steps:
part 1: [engine] add
SemanticsUpdateBuilderNewflutter/engine#47961part 2: [flutter] use
SemanticsUpdateBuilderNew<-- we are herepart 3: [engine] update
SemanticsUpdateBuilderto be the same asSemanticsUpdateBuilderNewflutter/engine#48882part 4: [flutter] use (now updated)
SemanticsUpdateBuilderagain #139942part 5: [engine] remove
SemanticsBuilderNewflutter/engine#49139Pre-launch Checklist
///).If you need help, consider asking for advice on the #hackers-new channel on Discord.