flutter/packages/flutter_test
Hassan Toor 59e892d391
[web] - Fix broken TextField in semantics mode when it's a sibling of Navigator (#138446)
When a `TextField` is rendered before a `Navigator`, it breaks in semantics mode.  This is because the framework generates the incorrect semantics tree (excludes the TextField) and when that tree gets sent to the engine, we don't get the signal to create the corresponding `<input>` element.

This happens for a few reasons:
* `ModalBarrier` uses `BlockSemantics` to drop the semantics of routes beneath the current route in `Navigator`
* `ModalBarrier` mistakenly recognizes the widget outside of the `Navigator` to be its sibling
*  So we end up dropping the semantics node of the `TextField` rendered before it. 

The fix is to let `Navigator` generate a semantics node so that `ModalBarrier` doesn't mistakenly think widgets outside of `Navigator` are its siblings.  

`Navigator` doesn't currently do this, which causes all the nodes generated from its widget subtree to be directly attached to the parent semantics node above `Navigator` - since this is also the parent of `TextField`, it considers them siblings. 

Fixes https://github.com/flutter/flutter/issues/129324
2024-01-22 17:03:14 +00:00
..
lib Make pumpWidget's arguments named (#141728) 2024-01-19 18:29:07 +00:00
test [web] - Fix broken TextField in semantics mode when it's a sibling of Navigator (#138446) 2024-01-22 17:03:14 +00:00
test_fixes Adds dart_fix support to flutter_test (#124347) 2023-04-11 21:09:07 +00:00
analysis_options.yaml Adds dart_fix support to flutter_test (#124347) 2023-04-11 21:09:07 +00:00
dart_test.yaml Randomize tests, exclude tests that fail with randomization. (#86793) 2021-07-26 23:40:49 -07:00
pubspec.yaml Upgrade leak_tracker. (#141153) 2024-01-09 12:02:35 -08:00