Repository: flutter
Issue: [desktop] [web] Cannot click drag to scroll PageView if child is SelectableText
Labels: a: text input,framework,f: material design,f: gestures,d: stackoverflow,a: typography,a: desktop,a: mouse,has reproducible steps,P2,found in release: 2.2,found in release: 2.6,team-framework,triaged-framework

<!-- 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
-->

### Sample Code

<details>


```dart
import 'package:flutter/material.dart';

String loremIpsum = """
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin viverra lectus at dui tincidunt, faucibus iaculis sem ullamcorper. Proin auctor, nibh non molestie ornare, nisi lectus posuere metus, a facilisis magna lacus a ligula. Aliquam finibus, justo et finibus sagittis, dui ipsum accumsan nisi, congue pretium massa odio ut sapien. Duis nulla nulla, tempor sed sapien in, porta facilisis est. Aliquam in convallis ipsum. Integer semper pharetra turpis sed condimentum. Ut placerat dolor a aliquet convallis. Phasellus vel pretium leo. Donec egestas aliquam velit, in aliquet turpis aliquam id.

Suspendisse potenti. Cras imperdiet pulvinar lobortis. Nulla turpis nisi, laoreet id finibus at, posuere blandit mi. Nunc scelerisque eros ut ex posuere, vitae ultricies diam varius. Vestibulum vestibulum interdum hendrerit. Morbi libero sem, tristique quis semper sit amet, luctus eget arcu. Pellentesque consectetur diam eu felis posuere fermentum. Vivamus blandit ante elit, porttitor accumsan urna dictum eu.

Duis consequat ullamcorper ante nec gravida. Maecenas porta maximus risus id sollicitudin. Ut pretium sodales elit, eu iaculis tortor venenatis sed. Donec sem mi, faucibus quis augue nec, egestas vulputate massa. Maecenas condimentum rutrum odio molestie pharetra. Maecenas ullamcorper nisl arcu, et dictum sem dapibus at. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Ut ullamcorper ante vel viverra facilisis. Mauris scelerisque magna sit amet mattis lacinia. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Pellentesque ipsum sem, tempus eget congue eu, dapibus vitae leo. Phasellus tempus imperdiet sodales.

Sed ornare tincidunt nisi, ac vestibulum augue condimentum ac. Nullam sed lorem non lorem semper tincidunt. Cras finibus vitae nisi id lobortis. Ut justo massa, consectetur sed ligula sit amet, pulvinar rutrum libero. Maecenas elit dui, mollis nec mattis a, dignissim at justo. Sed vehicula justo ac augue tincidunt facilisis. Praesent vitae turpis efficitur nulla efficitur vehicula. In et posuere ex. Suspendisse fringilla, dolor eget mollis viverra, urna ipsum sollicitudin nunc, ut facilisis ante eros nec urna. Integer volutpat in elit venenatis pretium. Praesent eu felis nulla.

Nam hendrerit posuere erat nec finibus. Sed sit amet sapien suscipit, facilisis eros sit amet, convallis purus. Cras commodo fermentum sem. Nam non leo vel purus imperdiet efficitur a vel mauris. Donec pulvinar sit amet justo non sagittis. In vitae libero non est molestie hendrerit non id odio. Curabitur eleifend libero quis tellus auctor scelerisque non accumsan nisl. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Cras aliquam gravida consectetur. Quisque blandit turpis vel nisi facilisis blandit. Integer tempor bibendum luctus.

""";

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: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key? key, required this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  String firstHalf = loremIpsum.substring(0, loremIpsum.length.ceil() ~/ 2);
  String secondHalf = loremIpsum.substring(
      loremIpsum.length.ceil() ~/ 2, loremIpsum.length.ceil());

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: PageView.builder(
          itemCount: 2,
          itemBuilder: (context, index) {
            if (index == 0) {
              return SelectableText.rich(TextSpan(text: firstHalf));
            } else {
              return SelectableText.rich(TextSpan(text: secondHalf));
            }
          }),
    );
  }
}

```


</details>



## Steps to Reproduce

<!-- You must include full steps to reproduce so that we can reproduce the problem. -->

1) Build for web, and/or Desktop (I use MacOS) 
2) Interact with sample code and see that you cannot change the page when it has selectable text

3) Though it would be hard to recreate, if you can build for web and run on a mobile device, it has very unexpected UI behavior (shown in actual results)

**Expected results:** <!-- what did you want to see? -->

To be able to change the page and interact with the selectable text independently of one another


**Actual results:** <!-- what did you see? -->

On iOS natively, this worked fine. However, building for web or for MacOS, the SelectableText widget interferes with turning the page (i.e. makes it impossible via grabbing and dragging with a mouse). Though page turning still works, as I can use my trackback to gesture a page turn and it works).

Side note as well, this breaks behavior of selectable text on iOS's Safari.
(Pictured Below) 
![IMG_8456](https://user-images.githubusercontent.com/31700756/130874224-b023672b-a232-4b2d-b998-b8f19c893d65.jpg)


<details>
  <summary>Logs</summary>

  No errors are thrown, specifically a UI issue

<!-- Finally, paste the output of running `flutter doctor -v` here. -->
```console
[✓] Flutter (Channel stable, 2.2.3, on macOS 11.5.2 20G95 darwin-x64, locale
    en-US)
    • Flutter version 2.2.3 at /Users/dallinburton/LocalFrameworks/flutter
    • Framework revision f4abaa0735 (8 weeks ago), 2021-07-01 12:46:11 -0700
    • Engine revision 241c87ad80
    • Dart version 2.13.4

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/dallinburton/Library/Android/sdk
    • Platform android-30, build-tools 30.0.3
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.5.1, Build version 12E507
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • 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
      1.8.0_242-release-1644-b3-6915495)

[✓] VS Code (version 1.59.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.25.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 11.5.2 20G95 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 92.0.4515.159

• No issues found!
```

</details>