* a11y: remove SemanticsSortOrder; sort locally only; semanticsOwner post-test check
* update accessibility test framework
- default nextNodeId/previousNodeId to -1
- stop treating null as opt-out from value testing
- add `id`, `TestSemantics.root`, and `tags` to the suggested code in the TestSemantics failure message
- fix a small bug with raw string escaping
- update all tests accordingly
* fix sortKey doc
* prefer const over final
Channels don't preserve Map and List type arguments: Map<String, Object>
arrives as Map<dynamic, dynamic> to the receiver.
In Dart 2 type system dynamic no longer serves as bottom type so
Map<dynamic, dynamic> can't be assign to a variable of type
Map<String, dynamic>.
Issue #14556
* getOffsetToReveal deals with pinned slivers
If a Sliver can potentially be pinned at the edge of a viewport, getOffsetToReveal will take that into account and scroll further up/down to ensure that the object to reveal doesn't end up covered by a pinned sliver.
This is important for accessibility scrolling with app bars.
Since how much a pinned sliver is covering is dynamic (it can change with scroll offset, etc), getOffsetToReveal deals with the worst case and tries to ensure that the object to uncover is visible when the pinned slivers are at their max pinned extent.
* name fixes
* review feedback
* typos
* renaming
* fix analyzer
* fix test
* analyzer fixes
* a11y: implement new SemanticsAction "showOnScreen" (v2)
This action is triggered when the user swipes (in accessibility mode) to the last visible item of a scrollable list to bring that item fully on screen.
This requires engine rolled to flutter/engine#3856.
I am in the process of adding tests, but I'd like to get early feedback to see if this approach is OK.
* fix null check
* review comments
* review comments
* Add test
* fix analyzer warning