Repository: flutter
Issue:  [url_launcher] Link widget should set Link text for flutter web
Labels: c: new feature,a: accessibility,platform-web,p: url_launcher,package,c: proposal,P3,team-web,triaged-web

<!-- Thank you for using Flutter!

     If you are looking for support, please check out our documentation
     or consider asking a question on Stack Overflow:
      * https://flutter.dev/
      * https://api.flutter.dev/
      * https://stackoverflow.com/questions/tagged/flutter?sort=frequent

     If you have found a bug or if our documentation doesn't have an answer
     to what you're looking for, then fill out the template below. Please read
     our guide to filing a bug first: https://flutter.dev/docs/resources/bug-reports
-->

## Use case

<!--
     Please tell us the problem you are running into that led to you wanting
     a new feature.

     Is your feature request related to a problem? Please give a clear and
     concise description of what the problem is.

     Describe the alternative solutions you've considered. Is there a package
     on pub.dev/flutter that already solves this?
-->

[Link texts](https://www.seobility.net/en/wiki/Link_Text#Importance_of_link_text_for_SEO) can have a significant impact on SEO.

I've configured flutterWebRenderer as "html" and implemented the following widget:
```
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:url_launcher/link.dart';

class TagV1Widget extends StatelessWidget {
  final String _tagName;
  final String _languageCode;
  final TextStyle _textStyle;
  final TextAlign? _textAlign;
  final int? _maxLines;
  final String? _suffix;
  final TextOverflow? _overflow;

  TagV1Widget(
      {Key? key,
      required String tagName,
      required String languageCode,
      required TextStyle textStyle,
      TextAlign? textAlign,
      int? maxLines,
      String? suffix,
      TextOverflow? overflow})
      : _tagName = tagName,
        _languageCode = languageCode,
        _textStyle = textStyle,
        _textAlign = textAlign,
        _maxLines = maxLines,
        _suffix = suffix,
        _overflow = overflow,
        super(key: key) {
    assert(!GetUtils.isNullOrBlank(tagName)!);
    assert(!GetUtils.isNullOrBlank(languageCode)!);
  }

  @override
  Widget build(BuildContext context) {
    return Link(
        uri: Uri.parse(
            '/topic/${Uri.encodeComponent(_tagName)}/language/${Uri.encodeComponent(_languageCode)}'),
        builder: (BuildContext context, FollowLink? followLink) => InkWell(
            onTap: () {
              if (followLink != null) {
                followLink();
              }
            },
            child: Text(
                !GetUtils.isNullOrBlank(_suffix)! ? '$_tagName$_suffix' : _tagName,
                style: _textStyle,
                textAlign: _textAlign,
                overflow: _overflow,
                maxLines: _maxLines)));
  }
}
```
That widget generates the following html in flutter web:

`<flt-platform-view slot="flt-pv-slot-0"><a rel="noreferrer noopener" href="/topic/Learning/language/en" target="_self" style="opacity: 0; display: block; width: 100%; height: 100%; cursor: unset;"></a></flt-platform-view>`

I wish it was something like:

`<flt-platform-view slot="flt-pv-slot-0"><a rel="noreferrer noopener" href="/topic/Learning/language/en" target="_self" style="opacity: 0; display: block; width: 100%; height: 100%; cursor: unset;">Link text</a></flt-platform-view>`


## Proposal

<!--
     Briefly but precisely describe what you would like Flutter to be able to do.

     Consider attaching something showing what you are imagining:
      * images
      * videos
      * code samples

     Does this have to be provided by Flutter directly, or can it be provided
     by a package on pub.dev/flutter? If so, maybe consider implementing and
     publishing such a package rather than filing a bug.
-->

Could you please implement a TextLink that would take the same constructor parameters as Text + Link (except for builder)?:
TextLink should set link text in flutter web to Text's data.

Thanks.