Repository: flutter
Issue: [material/menu_anchor.dart] Menu Anchor focus traversal inconsistent on web and desktop.
Labels: framework,f: material design,platform-web,a: desktop,f: focus,has reproducible steps,P2,team-design,triaged-design,found in release: 3.19,found in release: 3.22

### Steps to reproduce

1. Run example on web
2. Try opening then tabbing to menu via keyboard

### Expected results

Expect focus to move to menu items.

### Actual results

Focus does not move.

### Code sample

<details open><summary>Code sample</summary>

```dart
import 'package:flutter/material.dart' ;

void main() => runApp(const MenuApp());

class MenuApp extends StatelessWidget {
  const MenuApp({super.key});

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      home: Scaffold(body: MyCascadingMenu()),
    );
  }
}

class MyCascadingMenu extends StatefulWidget {
  const MyCascadingMenu({super.key});

  @override
  State<MyCascadingMenu> createState() => _MyCascadingMenuState();
}

class _MyCascadingMenuState extends State<MyCascadingMenu> {
  final FocusNode _buttonFocusNode = FocusNode();

  @override
  void dispose() {
    _buttonFocusNode.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Column(
      crossAxisAlignment: CrossAxisAlignment.start,
      children: <Widget>[
        MenuAnchor(
          childFocusNode: _buttonFocusNode,
          menuChildren: <Widget>[
            MenuItemButton(
                onPressed: () {},
                child: const Text('1'),),
            MenuItemButton(
                onPressed: () {},
                child: const Text('2'),),
            MenuItemButton(
                onPressed: () {},
                child: const Text('3'),),
          ],
          builder: (
            BuildContext context,
            MenuController controller,
            Widget? child,
          ) {
            return TextButton(
              focusNode: _buttonFocusNode,
              onPressed: () {
                if (controller.isOpen) {
                  controller.close();
                } else {
                  controller.open();
                }
              },
              child: const Text('OPEN MENU'),
            );
          },
        ),
      ],
    );
  }
}
```

</details>


### Screenshots or Video

<details open>
<summary>Screenshots / Video demonstration</summary>

N/A

</details>


### Logs

<details open><summary>Logs</summary>
N/A
</details>


### Flutter Doctor output

<details open><summary>Doctor output</summary>

```console
[!] Flutter (Channel stable, 3.19.5, on macOS 14.0 23A344 darwin-arm64, locale en-US)
    ! Warning: `dart` on your path resolves to /opt/homebrew/Cellar/dart/3.2.3/libexec/bin/dart, which is not inside your current Flutter SDK checkout at
      /Users/davidhicks/fvm/versions/stable. Consider adding /Users/davidhicks/fvm/versions/stable/bin to the front of your path.
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 15.3)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2023.2)
[✓] VS Code (version 1.88.1)
[✓] Connected device (2 available)
    ! Error: Browsing on the local area network for David’s iPhone. Ensure the device is unlocked and attached with a cable or associated with the same local area network as this
      Mac.
      The device must be opted into Developer Mode to connect wirelessly. (code -27)
[✓] Network resources

! Doctor found issues in 1 category.
```

</details>