Thanks to visit codestin.com
Credit goes to github.com

Skip to content

[Web][Engine] Update MediaQuery in response to semanticsEnabled #166836

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

koji-1009
Copy link
Contributor

@koji-1009 koji-1009 commented Apr 9, 2025

fix #134980

Calling EnginePlatformDispatcher.instance.invokeOnAccessibilityFeaturesChanged(); after EnginePlatformDispatcher.instance.configuration = newConfiguration to notify update configuration event to MediaQuery.

before

main.mov

after

fixed.mov
Example Code
import 'package:flutter/material.dart';
import 'package:flutter/semantics.dart';

void main() {
  runApp(const MaterialApp(home: MyHomePage()));
}

class MyHomePage extends StatelessWidget {
  const MyHomePage({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            ElevatedButton(
              onPressed: () {
                SemanticsBinding.instance.ensureSemantics();
              },
              child: const Text('Enable a11y'),
            ),
            const SizedBox(height: 24),
            ElevatedButton(
              onPressed: () {
                ScaffoldMessenger.of(context).showSnackBar(
                  SnackBar(
                    content: const Text('Should stay visible'),
                    action: SnackBarAction(label: 'Action', onPressed: () {}),
                  ),
                );
              },
              child: const Text('Show snackbar'),
            ),
            const SizedBox(height: 24),
            Text(
              'MediaQuery.accessibleNavigationOf(context): ${MediaQuery.accessibleNavigationOf(context)}',
            ),
            Text(
              'SemanticsBinding.instance.semanticsEnabled: ${SemanticsBinding.instance.semanticsEnabled}',
            ),
            Text(
              'SemanticsBinding.instance.platformDispatcher.semanticsEnabled: ${SemanticsBinding.instance.platformDispatcher.semanticsEnabled}',
            ),
            Text(
              'SemanticsBinding.instance.accessibilityFeatures: ${SemanticsBinding.instance.accessibilityFeatures}',
            ),
          ],
        ),
      ),
    );
  }
}

Pre-launch Checklist

If you need help, consider asking for advice on the #hackers-new channel on Discord.

@github-actions github-actions bot added the framework flutter/packages/flutter repository. See also f: labels. label Apr 9, 2025
@koji-1009 koji-1009 force-pushed the fix/accessible_navigation branch 2 times, most recently from 3d7aacd to ac81fa4 Compare April 10, 2025 14:16
@koji-1009 koji-1009 changed the title fix: update semantics handling for web [Web] Update MediaQuery in response to semanticsEnabled Apr 10, 2025
@koji-1009 koji-1009 force-pushed the fix/accessible_navigation branch from ac81fa4 to 630eeea Compare April 11, 2025 12:05
@github-actions github-actions bot added a: tests "flutter test", flutter_test, or one of our tests and removed a: tests "flutter test", flutter_test, or one of our tests labels Apr 11, 2025
@koji-1009 koji-1009 force-pushed the fix/accessible_navigation branch from 175792d to ae1a837 Compare April 11, 2025 13:24
@koji-1009 koji-1009 force-pushed the fix/accessible_navigation branch from ae1a837 to c80b0bf Compare April 12, 2025 00:06
@github-actions github-actions bot added engine flutter/engine repository. See also e: labels. a: accessibility Accessibility, e.g. VoiceOver or TalkBack. (aka a11y) platform-web Web applications specifically labels Apr 12, 2025
@koji-1009 koji-1009 force-pushed the fix/accessible_navigation branch from 2a38171 to 3314962 Compare April 12, 2025 05:28
@koji-1009 koji-1009 changed the title [Web] Update MediaQuery in response to semanticsEnabled [Web][Engine] Update MediaQuery in response to semanticsEnabled Apr 12, 2025
@koji-1009 koji-1009 force-pushed the fix/accessible_navigation branch 2 times, most recently from 1e9987a to fdea76b Compare April 15, 2025 12:58
@github-actions github-actions bot added f: material design flutter/packages/flutter/material repository. f: scrolling Viewports, list views, slivers, etc. labels Apr 15, 2025
@koji-1009 koji-1009 force-pushed the fix/accessible_navigation branch from fdea76b to 034e48f Compare April 23, 2025 13:01
@koji-1009 koji-1009 force-pushed the fix/accessible_navigation branch 2 times, most recently from ab9a59c to 4b1f494 Compare May 3, 2025 03:12
@github-actions github-actions bot removed framework flutter/packages/flutter repository. See also f: labels. f: material design flutter/packages/flutter/material repository. f: scrolling Viewports, list views, slivers, etc. labels May 3, 2025
@koji-1009 koji-1009 force-pushed the fix/accessible_navigation branch 2 times, most recently from 496e3a7 to 1995455 Compare May 3, 2025 05:35
@koji-1009 koji-1009 force-pushed the fix/accessible_navigation branch from 1995455 to a51f4c5 Compare May 3, 2025 06:35
@koji-1009 koji-1009 marked this pull request as ready for review May 3, 2025 07:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
a: accessibility Accessibility, e.g. VoiceOver or TalkBack. (aka a11y) engine flutter/engine repository. See also e: labels. platform-web Web applications specifically
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[web:a11y] MediaQuery.accessibleNavigation is not updating when a11y is enabled
1 participant