Repository: flutter
Issue: [Proposal] No way to specify table headers with `Table` widget
Labels: c: new feature,framework,a: accessibility,c: proposal,P3,team-framework,triaged-framework

It doesn't look like there is a way to specify table headers in the `Table` widget that makes sense to assistive technologies.

I am using NVDA to navigate both web and desktop apps, and it seems to me there should be a way to generate something akin to a `<th>` tag with Flutter.

Here is the code I have so far:

```dart
import 'package:flutter/material.dart';

void main() => runApp(const MyApp());

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  const MyHomePage({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('People'),
      ),
      body: Table(
        children: const [
          TableRow(
            children: [
              TableCell(child: Text('First Name')),
              TableCell(child: Text('Surname')),
              TableCell(child: Text('Age'))
            ],
          ),
          TableRow(
            children: [
              Focus(child: TableCell(child: Text('Chris'))),
              Focus(child: TableCell(child: Text('Norman'))),
              Focus(child: TableCell(child: Text('32')))
            ],
          ),
          TableRow(children: [
            Focus(child: TableCell(child: Text('Mother'))),
            Focus(child: TableCell(child: Text('Earth'))),
            Focus(child: TableCell(child: Text('Pretty old')))
          ])
        ],
      ),
    );
  }
}
```

Obviously that is quite a small table, but even with something so small, using a screen reader I have to figure out what the table headers should be (because they are not focusable, which is fine), then remember the order. In a table with lots of columns, this could be problematic.

I thought to use the `Semantics` widget, but that brought me to #100056, so it seems that accessibility information isn't generated at all for tables.

Is there any chance either the existing `TableCell` could be modified so you could `header: true`, or maybe even a `TableHeader` widget be created?

Thanks in advance.

```shell
[ÔêÜ] Flutter (Channel master, 2.11.0-0.0.pre.871, on Microsoft Windows [Version 10.0.22000.556], locale en-GB)
    ÔÇó Flutter version 2.11.0-0.0.pre.871 at C:\Users\chris\flutter
    ÔÇó Upstream repository https://github.com/flutter/flutter.git
    ÔÇó Framework revision 4f4c7816c3 (6 hours ago), 2022-03-14 07:35:07 +0100
    ÔÇó Engine revision 6239bfb884
    ÔÇó Dart version 2.17.0 (build 2.17.0-182.0.dev)
    ÔÇó DevTools version 2.11.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 Enterprise 2022 17.1.0)
    ÔÇó Visual Studio at C:\Program Files\Microsoft Visual Studio\2022\Enterprise
    ÔÇó Visual Studio Enterprise 2022 version 17.1.32210.238
    ÔÇó Windows 10 SDK version 10.0.22000.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.65.1)
    ÔÇó VS Code at C:\Program Files\Microsoft VS Code
    ÔÇó Flutter extension version 3.27.0

[ÔêÜ] Connected device (4 available)
    ÔÇó Windows (desktop)       ÔÇó windows ÔÇó windows-x64     ÔÇó Microsoft Windows [Version 10.0.22000.556]
    ÔÇó Windows (UWP) (desktop) ÔÇó winuwp  ÔÇó windows-uwp-x64 ÔÇó 
    ÔÇó Chrome (web)            ÔÇó chrome  ÔÇó web-javascript  ÔÇó Google Chrome 99.0.4844.51
    ÔÇó Edge (web)              ÔÇó edge    ÔÇó web-javascript  ÔÇó Microsoft Edge 98.0.1108.56

[ÔêÜ] HTTP Host Availability
    ÔÇó All required HTTP hosts are available

ÔÇó No issues found!
```