Repository: flutter
Issue: Talkback does not honor namesRoute on Samsung devices
Labels: e: device-specific,platform-android,framework,engine,a: accessibility,f: routes,customer: amplify,has reproducible steps,P2,e: samsung,team-android,triaged-android,found in release: 3.19,found in release: 3.21

When creating a Semantics widget with scopesRoute AND namesRoute set to true, and specifying a label works on Android, except for Samsung devices. An easy way to see this is by creating an app that simply pushes a new route onto the stack, and Talk Back doesn't read anything at all on Samsung devices. This is related to #53924 where it won't read anything with only `scopesRoute` is set, but this bug is that the workaround of also setting `namesRoute` and a `label` doesn't work on Samsung.

The following code shows the problem. With this test, Talkback should read "Page 2" followed by the first text widget on the page when navigating back and forth between pages. This works on most devices except Samsung devices.


<details>
<summary>code sample</summary>

```dart
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: SemanticsNav1HomePage(),
    );
  }
}

class SemanticsNav1HomePage extends StatelessWidget {

  @override
  Widget build(BuildContext context) {

    SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle.dark);

    return Semantics(
      scopesRoute: true,
      namesRoute: true,
      label: "Page 1",
      explicitChildNodes: true,
      child: Scaffold(
        body: SafeArea(
          top: true,
          child: Column(
            mainAxisAlignment: MainAxisAlignment.start,
            mainAxisSize: MainAxisSize.max,
            crossAxisAlignment: CrossAxisAlignment.stretch,
            children: <Widget>[
              Padding(
                padding: const EdgeInsets.all(24.0),
                child: Text(
                  "Hello, press the button below to launch the next page",
                  style: TextStyle(fontSize: 24),
                ),
              ),
              Expanded(
                child: Center(
                  child: MaterialButton(
                      color: Colors.black,
                      textColor: Colors.white,
                      child: Text("Launch route 2", style: TextStyle(fontSize: 20)),
                      onPressed: () => Navigator.push(context, PageRouteBuilder(pageBuilder: (context, animation, secondaryAnimation) => SemanticsNav2HomePage())),
                  )
                ),
              ),
            ],
          ),
        ),
      ),
    );
  }
}

class SemanticsNav2HomePage extends StatelessWidget {

  @override
  Widget build(BuildContext context) {

    SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle.dark);

    return Semantics(
      scopesRoute: true,
      namesRoute: true,
      label: "Page 2",
      explicitChildNodes: true,
      child: Scaffold(
        body: SafeArea(
          top: true,
          child: Column(
            mainAxisAlignment: MainAxisAlignment.start,
            mainAxisSize: MainAxisSize.max,
            crossAxisAlignment: CrossAxisAlignment.stretch,
            children: <Widget>[
              Padding(
                padding: const EdgeInsets.all(24.0),
                child: Text(
                  "Hello, press the button below to close this page",
                  style: TextStyle(fontSize: 24),
                ),
              ),
              Expanded(
                child: Center(
                    child: MaterialButton(
                      color: Colors.black,
                      textColor: Colors.white,
                      child: Text("Pop route 2", style: TextStyle(fontSize: 20)),
                        onPressed: () => Navigator.pop(context),
                    )
                ),
              ),
            ],
          ),
        ),
      ),
    );
  }
}
```

</details>