Repository: flutter
Issue: [Windows Desktop] App does not read textfield characters when moving the cursor with arrow keys with screen reader enabled 
Labels: a: text input,framework,a: accessibility,platform-windows,a: desktop,has reproducible steps,P2,found in release: 2.8,found in release: 2.9,team-windows,triaged-windows

Hi,
I'm using `TextFormField`s on Windows with the [NVDA](https://www.nvaccess.org/) screen reader, and they're not behaving like text fields should.

For example, I get my characters echoed regardless of my character echo setting, and when I navigate through the contents of the text field with the arrow keys, nothing is read. The screen reader doesn't seem to know that character navigation is happening.

### Results of `flutter doctor -v`

```shell
[ÔêÜ] Flutter (Channel master, 2.9.0-1.0.pre.129, on Microsoft Windows [Version 10.0.19044.1415], locale en-GB)
    ÔÇó Flutter version 2.9.0-1.0.pre.129 at C:\Users\chris\flutter
    ÔÇó Upstream repository https://github.com/flutter/flutter.git
    ÔÇó Framework revision 6ba2f526a4 (2 days ago), 2021-12-17 18:09:14 -0800
    ÔÇó Engine revision 1db3b8333f
    ÔÇó Dart version 2.16.0 (build 2.16.0-120.0.dev)
    ÔÇó DevTools version 2.9.1

[ÔêÜ] Android toolchain - develop for Android devices (Android SDK version 31.0.0-rc2)
    ÔÇó Android SDK at C:\Users\chris\AppData\Local\Android\sdk
    ÔÇó Platform android-31, build-tools 31.0.0-rc2
    ÔÇó Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    ÔÇó Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    ÔÇó All Android licenses accepted.

[ÔêÜ] Chrome - develop for the web
    ÔÇó Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[ÔêÜ] Visual Studio - develop for Windows (Visual Studio Community 2019 16.9.3)
    ÔÇó Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    ÔÇó Visual Studio Community 2019 version 16.9.31129.286
    ÔÇó Windows 10 SDK version 10.0.19041.0

[ÔêÜ] Android Studio (version 2020.3)
    ÔÇó Android Studio at C:\Program Files\Android\Android Studio
    ÔÇó Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    ÔÇó Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    ÔÇó Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)

[ÔêÜ] VS Code, 64-bit edition (version 1.63.2)
    ÔÇó VS Code at C:\Program Files\Microsoft VS Code
    ÔÇó Flutter extension version 3.27.0

[ÔêÜ] Connected device (3 available)
    ÔÇó Windows (desktop) ÔÇó windows ÔÇó windows-x64    ÔÇó Microsoft Windows [Version 10.0.19044.1415]
    ÔÇó Chrome (web)      ÔÇó chrome  ÔÇó web-javascript ÔÇó Google Chrome 96.0.4664.110
    ÔÇó Edge (web)        ÔÇó edge    ÔÇó web-javascript ÔÇó Microsoft Edge 95.0.1020.53

[ÔêÜ] HTTP Host Availability
    ÔÇó All required HTTP hosts are available

ÔÇó No issues found!
```

### Minimal Code

```dart
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({Key? key, required this.title}) : super(key: key);

  // This widget is the home page of your application. It is stateful, meaning
  // that it has a State object (defined below) that contains fields that affect
  // how it looks.

  // This class is the configuration for the state. It holds the values (in this
  // case the title) provided by the parent (in this case the App widget) and
  // used by the build method of the State. Fields in a Widget subclass are
  // always marked "final".

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  final TextEditingController textEditingController =
      TextEditingController(text: 'App Title');

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(textEditingController.text),
      ),
      body: Center(
          child: TextField(
        controller: textEditingController,
        decoration: const InputDecoration(
          labelText: 'App Title',
        ),
      )),
      floatingActionButton: FloatingActionButton(
        onPressed: () => setState(() {}),
        tooltip: 'Set Title',
        child: const Icon(Icons.save),
      ),
    );
  }
}
```

Thanks in advance.