Skip to content

Conversation

@flutter-zl
Copy link
Contributor

@flutter-zl flutter-zl commented Nov 4, 2025

Use aria-hidden attribute for platform view accessibility on web

Before change:
https://map-1023-before.web.app/

After change:
https://map-1023-after.web.app/

Fixes #171948.

Note: When a descendant element receives focus (for example, a marker), the browser automatically overrides aria-hidden. This behavior is correct and expected for accessibility compliance.

@github-actions github-actions bot added engine flutter/engine related. See also e: labels. a: accessibility Accessibility, e.g. VoiceOver or TalkBack. (aka a11y) platform-web Web applications specifically labels Nov 4, 2025
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces the use of the inert attribute for platform views on the web to improve accessibility. Platform views are now made inert by default upon rendering. A new method, updatePlatformViewAccessibility, is added to PlatformViewManager to dynamically control the inert state. This is integrated with the semantics layer in SemanticPlatformView to show or hide platform views based on the isHidden semantic flag. The changes are accompanied by new tests. My review includes a high-severity comment to address a potential bug in state management and a medium-severity comment to improve maintainability.

@flutter-dashboard
Copy link

CI had a failure that stopped further tests from running. We need to investigate to determine the root cause.

SHA at time of execution: 6c5a35b.

Possible causes:

  • Configuration Changes: The .ci.yaml file might have been modified between the creation of this pull request and the start of this test run. This can lead to ci yaml validation errors.
  • Infrastructure Issues: Problems with the CI environment itself (e.g., quota) could have caused the failure.

A blank commit, or merging to head, will be required to resume running CI for this PR.

Error Details:

GitHub Error: You have exceeded a secondary rate limit. Please wait a few minutes before you try again. For more on scraping GitHub and how it may affect your rights, please review our Terms of Service (https://docs.github.com/en/site-policy/github-terms/github-terms-of-service) If you reach out to GitHub Support for help, please include the request ID D69E:298942:490940:13F0582:690A395D.

Stack trace:

#0      GitHub.handleStatusCode (package:github/src/common/github.dart:486:5)
#1      GitHub.request (package:github/src/common/github.dart:422:7)
<asynchronous suspension>
#2      GitHub.requestJson (package:github/src/common/github.dart:323:22)
<asynchronous suspension>
#3      RetryOptions.retry (package:retry/retry.dart:131:16)
<asynchronous suspension>
#4      LuciBuildService.scheduleTryBuilds (package:cocoon_service/src/service/luci_build_service.dart:246:24)
<asynchronous suspension>
#5      Scheduler._runCiTestingStage (package:cocoon_service/src/service/scheduler.dart:1253:9)
<asynchronous suspension>
#6      Scheduler.proceedToCiTestingStage (package:cocoon_service/src/service/scheduler.dart:1314:7)
<asynchronous suspension>
#7      Scheduler._closeSuccessfulEngineBuildStage (package:cocoon_service/src/service/scheduler.dart:1121:5)
<asynchronous suspension>
#8      Scheduler.processCheckRunCompleted (package:cocoon_service/src/service/scheduler.dart:1054:9)
<asynchronous suspension>
#9      PresubmitLuciSubscription.post (package:cocoon_service/src/request_handlers/presubmit_luci_subscription.dart:135:7)
<asynchronous suspension>
#10     RequestHandler.service (package:cocoon_service/src/request_handling/request_handler.dart:45:20)
<asynchronous suspension>
#11     SubscriptionHandler.service (package:cocoon_service/src/request_handling/subscription_handler.dart:140:5)
<asynchronous suspension>
#12     createServer.<anonymous closure> (package:cocoon_service/server.dart:339:7)
<asynchronous suspension>

@chunhtai
Copy link
Contributor

chunhtai commented Nov 4, 2025

After the change, when ExcludeSemantics in on, the map can't be interacted with using mouse, is this expected?

@flutter-zl flutter-zl marked this pull request as draft November 5, 2025 19:21
@flutter-dashboard
Copy link

This pull request has been changed to a draft. The currently pending flutter-gold status will not be able to resolve until a new commit is pushed or the change is marked ready for review again.

For more guidance, visit Writing a golden file test for package:flutter.

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing.

@flutter-zl
Copy link
Contributor Author

After the change, when ExcludeSemantics in on, the map can't be interacted with using mouse, is this expected?

it is not expected. let me revisit the issue again.

@flutter-zl flutter-zl closed this Nov 5, 2025
@flutter-zl flutter-zl reopened this Nov 6, 2025
@fluttergithubbot
Copy link
Contributor

An existing Git SHA, 6c5a35b4a4e3190dce113c95c159a1b101eb04c4, was detected, and no actions were taken.

To re-trigger presubmits after closing or re-opeing a PR, or pushing a HEAD commit (i.e. with --force) that already was pushed before, push a blank commit (git commit --allow-empty -m "Trigger Build") or rebase to continue.

@github-actions github-actions bot removed the a: accessibility Accessibility, e.g. VoiceOver or TalkBack. (aka a11y) label Nov 6, 2025
@github-actions github-actions bot added the a: accessibility Accessibility, e.g. VoiceOver or TalkBack. (aka a11y) label Nov 6, 2025
@flutter-zl flutter-zl changed the title Use inert attribute for platform view accessibility on web Use aria-hidden attribute for platform view accessibility on web Nov 6, 2025
Copy link
Contributor

@mdebbar mdebbar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me!

@flutter-zl flutter-zl marked this pull request as ready for review November 6, 2025 17:15
@flutter-zl flutter-zl requested a review from mdebbar November 6, 2025 19:53
Copy link
Contributor

@chunhtai chunhtai left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@flutter-zl flutter-zl added this pull request to the merge queue Nov 6, 2025
Merged via the queue into master with commit f19a80a Nov 6, 2025
187 checks passed
@flutter-zl flutter-zl deleted the map_1103 branch November 6, 2025 22:47
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 7, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 7, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 7, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 8, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 9, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 9, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 11, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 11, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 11, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 12, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 12, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 12, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 12, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 12, 2025
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Nov 12, 2025
…10408)

Manual roll requested by [email protected]

flutter/flutter@31a8481...ee23168

2025-11-07 [email protected] Roll Packages from f13bad3 to 3caa48b (5 revisions) (flutter/flutter#178164)
2025-11-07 [email protected] Fix text input actions in DropdownMenu. (flutter/flutter#177313)
2025-11-07 [email protected] Roll Skia from f838c4b31edb to 581d1ecd5029 (1 revision) (flutter/flutter#178157)
2025-11-07 [email protected] Roll Skia from eb3c5b280ae6 to f838c4b31edb (3 revisions) (flutter/flutter#178149)
2025-11-07 [email protected] Roll Skia from 360fe72b5bf4 to eb3c5b280ae6 (1 revision) (flutter/flutter#178147)
2025-11-07 [email protected] Roll Skia from 116f237bb39d to 360fe72b5bf4 (4 revisions) (flutter/flutter#178146)
2025-11-07 [email protected] Roll Fuchsia Linux SDK from cm88aTLui5yorSGYQ... to qDVe2mrpSgQdxra7p... (flutter/flutter#178144)
2025-11-07 [email protected] fix: findChildIndexCallback to take seperators into account for seperated named constructor in ListView and SliverList (flutter/flutter#174491)
2025-11-06 [email protected] [web] Remove unnecessary android_sdk dep (flutter/flutter#178078)
2025-11-06 [email protected] Add haptic notifications support. (flutter/flutter#177721)
2025-11-06 [email protected] Allow label to be used to compute InputDecorator Intrinsic width (flutter/flutter#178101)
2025-11-06 [email protected] Respect product flavor abiFilters by adding a `disable-abi-filtering` Android project flag. (flutter/flutter#177753)
2025-11-06 [email protected] Use aria-hidden attribute for platform view accessibility on web (flutter/flutter#177969)
2025-11-06 [email protected] [tool] Fix IP parsing by using Uri constructor (flutter/flutter#178083)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC [email protected],[email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
IvoneDjaja pushed a commit to IvoneDjaja/flutter that referenced this pull request Nov 22, 2025
…tter#177969)

Use aria-hidden attribute for platform view accessibility on web

Before change:
https://map-1023-before.web.app/

After change:
https://map-1023-after.web.app/

Fixes flutter#171948.

Note: When a descendant element receives focus (for example, a marker),
the browser automatically overrides aria-hidden. This behavior is
correct and expected for accessibility compliance.
reidbaker pushed a commit to AbdeMohlbi/flutter that referenced this pull request Dec 10, 2025
…tter#177969)

Use aria-hidden attribute for platform view accessibility on web

Before change:
https://map-1023-before.web.app/

After change:
https://map-1023-after.web.app/

Fixes flutter#171948.

Note: When a descendant element receives focus (for example, a marker),
the browser automatically overrides aria-hidden. This behavior is
correct and expected for accessibility compliance.
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 related. See also e: labels. platform-web Web applications specifically

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[google_maps_flutter][accessibility][web]: GoogleMap announced by screenreader despite wrapping with ExcludeSemantics

4 participants