Skip to content

refactor(web): use positive logic and platform defaults for accessibility features#183907

Merged
auto-submit[bot] merged 1 commit into
flutter:masterfrom
harryterkelsen:semantics-accessibilityfeatures-simplify
Mar 23, 2026
Merged

refactor(web): use positive logic and platform defaults for accessibility features#183907
auto-submit[bot] merged 1 commit into
flutter:masterfrom
harryterkelsen:semantics-accessibilityfeatures-simplify

Conversation

@harryterkelsen

Copy link
Copy Markdown
Contributor

Refactors EngineAccessibilityFeatures to simplify its bitfield logic and enforce proper initialization patterns.

Key highlights:

  • Removed complex negated-bit logic for supportsAnnounce, autoPlayAnimatedImages, and autoPlayVideos, switching to positive "enabled" flags.
  • Made the EngineAccessibilityFeatures constructor private, ensuring the builder and defaultFeatures constant are the only ways to create new instances.
  • Optimized copyWith and removed redundant explicit zero initializations across the engine and tests.

Pre-launch Checklist

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

Note: The Flutter team is currently trialing the use of Gemini Code Assist for GitHub. Comments from the gemini-code-assist bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.

…lity features

Refactors EngineAccessibilityFeatures to simplify its bitfield logic and enforce proper initialization patterns.

Key highlights:
- Removed complex negated-bit logic for supportsAnnounce, autoPlayAnimatedImages, and autoPlayVideos, switching to positive "enabled" flags.
- Made the EngineAccessibilityFeatures constructor private, ensuring the builder and defaultFeatures constant are the only ways to create new instances.
- Optimized copyWith and removed redundant explicit zero initializations across the engine and tests.
@harryterkelsen harryterkelsen requested a review from mdebbar March 19, 2026 21:29
@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 Mar 19, 2026
@harryterkelsen harryterkelsen added the CICD Run CI/CD label Mar 19, 2026

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

Copy link
Copy Markdown
Contributor

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 is a great refactoring of EngineAccessibilityFeatures. It simplifies the bitfield logic by using positive flags instead of negated ones, which significantly improves code readability and maintainability. The constructor has been made private to enforce the use of the builder pattern, and a defaultFeatures constant has been introduced, which is a good practice. The copyWith method is also more efficient now. I've only found a couple of minor issues regarding missing documentation for new public APIs, which I've detailed in the comments.

Comment on lines +55 to +57
static const EngineAccessibilityFeatures defaultFeatures = EngineAccessibilityFeatures._(
_kDefaultIndex,
);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

This new public member is missing documentation. According to the repository style guide, all public members should have documentation.

Suggested change
static const EngineAccessibilityFeatures defaultFeatures = EngineAccessibilityFeatures._(
_kDefaultIndex,
);
/// The default accessibility features.
///
/// On most platforms, accessibility announcements and auto-playing media are
/// enabled by default.
static const EngineAccessibilityFeatures defaultFeatures = EngineAccessibilityFeatures._(
_kDefaultIndex,
);
References
  1. All public members should have documentation. (link)

Comment on lines 203 to +204
class EngineAccessibilityFeaturesBuilder {
EngineAccessibilityFeaturesBuilder(this._index);
EngineAccessibilityFeaturesBuilder([this._index = EngineAccessibilityFeatures._kDefaultIndex]);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

This public class and its constructor are missing documentation. According to the repository style guide, all public members should be documented.

Suggested change
class EngineAccessibilityFeaturesBuilder {
EngineAccessibilityFeaturesBuilder(this._index);
EngineAccessibilityFeaturesBuilder([this._index = EngineAccessibilityFeatures._kDefaultIndex]);
/// A builder for creating an [EngineAccessibilityFeatures] object.
///
/// This builder is used to configure and create an immutable
/// [EngineAccessibilityFeatures] object by setting individual feature flags.
class EngineAccessibilityFeaturesBuilder {
/// Creates a new builder, optionally initialized with a bitfield of features.
///
/// If `index` is not provided, it defaults to features that are enabled on
/// most platforms.
EngineAccessibilityFeaturesBuilder([this._index = EngineAccessibilityFeatures._kDefaultIndex]);
References
  1. All public members should have documentation. (link)

@harryterkelsen harryterkelsen added the autosubmit Merge PR when tree becomes green via auto submit App label Mar 23, 2026
@auto-submit auto-submit Bot added this pull request to the merge queue Mar 23, 2026
Merged via the queue into flutter:master with commit c7990b4 Mar 23, 2026
187 checks passed
@flutter-dashboard flutter-dashboard Bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Mar 23, 2026
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Mar 23, 2026
mozammal-hossain added a commit to mozammal-hossain/flutter that referenced this pull request Mar 24, 2026
….com/mozammal-hossain/flutter into fix/167595-ios-signing-error-message

* 'fix/167595-ios-signing-error-message' of https://github.com/mozammal-hossain/flutter:
  [iOS] Clarify provisioning profile error instructions
  Roll Dart SDK from 788e347194a6 to f504293598f2 (1 revision) (flutter#184048)
  Roll Skia from fb6acef456ea to 62841a512deb (2 revisions) (flutter#184046)
  [Slider] Remove value indicator painter when animation is dismissed (flutter#182991)
  Manual roll ICU from 7971660ba630 to ee5f27adc28b (1 revision) (flutter#184041)
  Add scrollPadding property to DropdownMenu (flutter#183109)
  Roll pub packages (flutter#183895)
  Roll Skia from c2b58922e37d to fb6acef456ea (1 revision) (flutter#184033)
  Roll Dart SDK from b172bea4f008 to 788e347194a6 (2 revisions) (flutter#184035)
  chore: deflake Linux_android_emu android_display_cutout (flutter#183522)
  Add note about gclient sync network failures and workaround (flutter#183794)
  Roll Skia from a81bf411a5cb to c2b58922e37d (3 revisions) (flutter#184016)
  refactor(web): use positive logic and platform defaults for accessibility features (flutter#183907)
  [android][a11y] set "android.widget.ProgressBar" according to semantics role (flutter#183897)
  Add progress bar to artifact downloads (flutter#182836)
  Add windows instruction to `Forcing Flutter Tools Snapshot Regeneration` (flutter#183977)
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Mar 24, 2026
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Mar 24, 2026
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Mar 24, 2026
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Mar 24, 2026
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Mar 24, 2026
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Mar 24, 2026
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Mar 25, 2026
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Mar 25, 2026
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Mar 25, 2026
auto-submit Bot pushed a commit to flutter/packages that referenced this pull request Mar 25, 2026
…11345)

Manual roll Flutter from dd64978dfae1 to 82d96ef98a33 (89 revisions)

Manual roll requested by tarrinneal@google.com

flutter/flutter@dd64978...82d96ef

2026-03-24 116356835+AbdeMohlbi@users.noreply.github.com Fix RenderStack's documentation (flutter/flutter#183822)
2026-03-24 engine-flutter-autoroll@skia.org Roll Skia from a465876e3156 to f4e59f82dc69 (4 revisions) (flutter/flutter#184082)
2026-03-24 30870216+gaaclarke@users.noreply.github.com Refactor: Removes Geometry field from ColorSourceContents (flutter/flutter#183952)
2026-03-24 katelovett@google.com Refactor layout dimensions (flutter/flutter#184066)
2026-03-24 abadasamuelosp@gmail.com feat: Add --base-href support to flutter run for web (flutter/flutter#182709)
2026-03-24 43498643+mkucharski17@users.noreply.github.com Add LeanCode and contributors to AUTHORS (flutter/flutter#182997)
2026-03-24 dacoharkes@google.com [tools] Make sure `assemble` has a pubspec as cwd (flutter/flutter#184067)
2026-03-24 engine-flutter-autoroll@skia.org Roll Skia from bf4f2763b6e6 to a465876e3156 (5 revisions) (flutter/flutter#184068)
2026-03-24 evanwall@buffalo.edu fix gaussian blur getting clipped with negative scale (flutter/flutter#184037)
2026-03-24 34871572+gmackall@users.noreply.github.com Keep glyphs for variable fonts (flutter/flutter#183857)
2026-03-24 dacoharkes@google.com Mark `IconData` `final` and `@mustBeConst` (flutter/flutter#181345)
2026-03-24 engine-flutter-autoroll@skia.org Roll Skia from 62841a512deb to bf4f2763b6e6 (1 revision) (flutter/flutter#184062)
2026-03-24 ahmedsameha1@gmail.com Use Color.a instead of Color.alpha to assert the opacity of the color… (flutter/flutter#184003)
2026-03-24 engine-flutter-autoroll@skia.org Roll Dart SDK from f504293598f2 to b08bd0a3ee39 (1 revision) (flutter/flutter#184054)
2026-03-24 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from x9x76ERXhrt0Q3zKf... to M3sjWggTQmP2AD4bS... (flutter/flutter#184053)
2026-03-24 engine-flutter-autoroll@skia.org Roll Dart SDK from 788e347194a6 to f504293598f2 (1 revision) (flutter/flutter#184048)
2026-03-24 engine-flutter-autoroll@skia.org Roll Skia from fb6acef456ea to 62841a512deb (2 revisions) (flutter/flutter#184046)
2026-03-24 dkwingsmt@users.noreply.github.com [Slider] Remove value indicator painter when animation is dismissed (flutter/flutter#182991)
2026-03-24 engine-flutter-autoroll@skia.org Manual roll ICU from 7971660ba630 to ee5f27adc28b (1 revision) (flutter/flutter#184041)
2026-03-23 ishaquehassan@gmail.com Add scrollPadding property to DropdownMenu (flutter/flutter#183109)
2026-03-23 137456488+flutter-pub-roller-bot@users.noreply.github.com Roll pub packages (flutter/flutter#183895)
2026-03-23 engine-flutter-autoroll@skia.org Roll Skia from c2b58922e37d to fb6acef456ea (1 revision) (flutter/flutter#184033)
2026-03-23 engine-flutter-autoroll@skia.org Roll Dart SDK from b172bea4f008 to 788e347194a6 (2 revisions) (flutter/flutter#184035)
2026-03-23 codefu@google.com chore: deflake Linux_android_emu android_display_cutout (flutter/flutter#183522)
2026-03-23 vs.ashoknarayan@gmail.com Add note about gclient sync network failures and workaround (flutter/flutter#183794)
2026-03-23 engine-flutter-autoroll@skia.org Roll Skia from a81bf411a5cb to c2b58922e37d (3 revisions) (flutter/flutter#184016)
2026-03-23 1961493+harryterkelsen@users.noreply.github.com refactor(web): use positive logic and platform defaults for accessibility features (flutter/flutter#183907)
2026-03-23 jhy03261997@gmail.com [android][a11y] set "android.widget.ProgressBar" according to semantics role (flutter/flutter#183897)
2026-03-23 mr-peipei@web.de Add progress bar to artifact downloads (flutter/flutter#182836)
2026-03-23 116356835+AbdeMohlbi@users.noreply.github.com Add windows instruction to `Forcing Flutter Tools Snapshot Regeneration` (flutter/flutter#183977)
2026-03-23 engine-flutter-autoroll@skia.org Roll Skia from 42a6eb1dc5c9 to a81bf411a5cb (3 revisions) (flutter/flutter#184007)
2026-03-23 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from q1xqlQPxq8a3JTA4P... to x9x76ERXhrt0Q3zKf... (flutter/flutter#184006)
2026-03-23 engine-flutter-autoroll@skia.org Roll Dart SDK from ef45f179526f to b172bea4f008 (1 revision) (flutter/flutter#184004)
2026-03-23 engine-flutter-autoroll@skia.org Roll Skia from 964c3b33fd73 to 42a6eb1dc5c9 (1 revision) (flutter/flutter#184001)
2026-03-23 matt.kosarek@canonical.com Update the windowing docs per the latest wording found while doing Satellites (flutter/flutter#183748)
2026-03-22 48625061+muradhossin@users.noreply.github.com Add assert for mutually exclusive errorBuilder and errorText (flutter/flutter#183901)
2026-03-22 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from Yc7Ijp2ySjG841xha... to q1xqlQPxq8a3JTA4P... (flutter/flutter#183991)
2026-03-21 engine-flutter-autoroll@skia.org Roll Skia from 812822ad5caa to 964c3b33fd73 (1 revision) (flutter/flutter#183982)
2026-03-21 engine-flutter-autoroll@skia.org Roll Dart SDK from c831a55e2fcc to ef45f179526f (1 revision) (flutter/flutter#183973)
2026-03-21 engine-flutter-autoroll@skia.org Roll Skia from 569cc0475162 to 812822ad5caa (2 revisions) (flutter/flutter#183970)
2026-03-20 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from ilAIAVzu4xmeb078x... to Yc7Ijp2ySjG841xha... (flutter/flutter#183956)
2026-03-20 engine-flutter-autoroll@skia.org Roll Skia from 79a14289c60d to 569cc0475162 (3 revisions) (flutter/flutter#183954)
2026-03-20 engine-flutter-autoroll@skia.org Roll Dart SDK from c88a8008e93b to c831a55e2fcc (3 revisions) (flutter/flutter#183953)
2026-03-20 engine-flutter-autoroll@skia.org Roll Skia from 8d4c76b92050 to 79a14289c60d (4 revisions) (flutter/flutter#183949)
...
okorohelijah pushed a commit to okorohelijah/packages that referenced this pull request Mar 26, 2026
…lutter#11345)

Manual roll Flutter from dd64978dfae1 to 82d96ef98a33 (89 revisions)

Manual roll requested by tarrinneal@google.com

flutter/flutter@dd64978...82d96ef

2026-03-24 116356835+AbdeMohlbi@users.noreply.github.com Fix RenderStack's documentation (flutter/flutter#183822)
2026-03-24 engine-flutter-autoroll@skia.org Roll Skia from a465876e3156 to f4e59f82dc69 (4 revisions) (flutter/flutter#184082)
2026-03-24 30870216+gaaclarke@users.noreply.github.com Refactor: Removes Geometry field from ColorSourceContents (flutter/flutter#183952)
2026-03-24 katelovett@google.com Refactor layout dimensions (flutter/flutter#184066)
2026-03-24 abadasamuelosp@gmail.com feat: Add --base-href support to flutter run for web (flutter/flutter#182709)
2026-03-24 43498643+mkucharski17@users.noreply.github.com Add LeanCode and contributors to AUTHORS (flutter/flutter#182997)
2026-03-24 dacoharkes@google.com [tools] Make sure `assemble` has a pubspec as cwd (flutter/flutter#184067)
2026-03-24 engine-flutter-autoroll@skia.org Roll Skia from bf4f2763b6e6 to a465876e3156 (5 revisions) (flutter/flutter#184068)
2026-03-24 evanwall@buffalo.edu fix gaussian blur getting clipped with negative scale (flutter/flutter#184037)
2026-03-24 34871572+gmackall@users.noreply.github.com Keep glyphs for variable fonts (flutter/flutter#183857)
2026-03-24 dacoharkes@google.com Mark `IconData` `final` and `@mustBeConst` (flutter/flutter#181345)
2026-03-24 engine-flutter-autoroll@skia.org Roll Skia from 62841a512deb to bf4f2763b6e6 (1 revision) (flutter/flutter#184062)
2026-03-24 ahmedsameha1@gmail.com Use Color.a instead of Color.alpha to assert the opacity of the color… (flutter/flutter#184003)
2026-03-24 engine-flutter-autoroll@skia.org Roll Dart SDK from f504293598f2 to b08bd0a3ee39 (1 revision) (flutter/flutter#184054)
2026-03-24 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from x9x76ERXhrt0Q3zKf... to M3sjWggTQmP2AD4bS... (flutter/flutter#184053)
2026-03-24 engine-flutter-autoroll@skia.org Roll Dart SDK from 788e347194a6 to f504293598f2 (1 revision) (flutter/flutter#184048)
2026-03-24 engine-flutter-autoroll@skia.org Roll Skia from fb6acef456ea to 62841a512deb (2 revisions) (flutter/flutter#184046)
2026-03-24 dkwingsmt@users.noreply.github.com [Slider] Remove value indicator painter when animation is dismissed (flutter/flutter#182991)
2026-03-24 engine-flutter-autoroll@skia.org Manual roll ICU from 7971660ba630 to ee5f27adc28b (1 revision) (flutter/flutter#184041)
2026-03-23 ishaquehassan@gmail.com Add scrollPadding property to DropdownMenu (flutter/flutter#183109)
2026-03-23 137456488+flutter-pub-roller-bot@users.noreply.github.com Roll pub packages (flutter/flutter#183895)
2026-03-23 engine-flutter-autoroll@skia.org Roll Skia from c2b58922e37d to fb6acef456ea (1 revision) (flutter/flutter#184033)
2026-03-23 engine-flutter-autoroll@skia.org Roll Dart SDK from b172bea4f008 to 788e347194a6 (2 revisions) (flutter/flutter#184035)
2026-03-23 codefu@google.com chore: deflake Linux_android_emu android_display_cutout (flutter/flutter#183522)
2026-03-23 vs.ashoknarayan@gmail.com Add note about gclient sync network failures and workaround (flutter/flutter#183794)
2026-03-23 engine-flutter-autoroll@skia.org Roll Skia from a81bf411a5cb to c2b58922e37d (3 revisions) (flutter/flutter#184016)
2026-03-23 1961493+harryterkelsen@users.noreply.github.com refactor(web): use positive logic and platform defaults for accessibility features (flutter/flutter#183907)
2026-03-23 jhy03261997@gmail.com [android][a11y] set "android.widget.ProgressBar" according to semantics role (flutter/flutter#183897)
2026-03-23 mr-peipei@web.de Add progress bar to artifact downloads (flutter/flutter#182836)
2026-03-23 116356835+AbdeMohlbi@users.noreply.github.com Add windows instruction to `Forcing Flutter Tools Snapshot Regeneration` (flutter/flutter#183977)
2026-03-23 engine-flutter-autoroll@skia.org Roll Skia from 42a6eb1dc5c9 to a81bf411a5cb (3 revisions) (flutter/flutter#184007)
2026-03-23 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from q1xqlQPxq8a3JTA4P... to x9x76ERXhrt0Q3zKf... (flutter/flutter#184006)
2026-03-23 engine-flutter-autoroll@skia.org Roll Dart SDK from ef45f179526f to b172bea4f008 (1 revision) (flutter/flutter#184004)
2026-03-23 engine-flutter-autoroll@skia.org Roll Skia from 964c3b33fd73 to 42a6eb1dc5c9 (1 revision) (flutter/flutter#184001)
2026-03-23 matt.kosarek@canonical.com Update the windowing docs per the latest wording found while doing Satellites (flutter/flutter#183748)
2026-03-22 48625061+muradhossin@users.noreply.github.com Add assert for mutually exclusive errorBuilder and errorText (flutter/flutter#183901)
2026-03-22 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from Yc7Ijp2ySjG841xha... to q1xqlQPxq8a3JTA4P... (flutter/flutter#183991)
2026-03-21 engine-flutter-autoroll@skia.org Roll Skia from 812822ad5caa to 964c3b33fd73 (1 revision) (flutter/flutter#183982)
2026-03-21 engine-flutter-autoroll@skia.org Roll Dart SDK from c831a55e2fcc to ef45f179526f (1 revision) (flutter/flutter#183973)
2026-03-21 engine-flutter-autoroll@skia.org Roll Skia from 569cc0475162 to 812822ad5caa (2 revisions) (flutter/flutter#183970)
2026-03-20 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from ilAIAVzu4xmeb078x... to Yc7Ijp2ySjG841xha... (flutter/flutter#183956)
2026-03-20 engine-flutter-autoroll@skia.org Roll Skia from 79a14289c60d to 569cc0475162 (3 revisions) (flutter/flutter#183954)
2026-03-20 engine-flutter-autoroll@skia.org Roll Dart SDK from c88a8008e93b to c831a55e2fcc (3 revisions) (flutter/flutter#183953)
2026-03-20 engine-flutter-autoroll@skia.org Roll Skia from 8d4c76b92050 to 79a14289c60d (4 revisions) (flutter/flutter#183949)
...
mboetger pushed a commit to mboetger/flutter that referenced this pull request Mar 26, 2026
…lity features (flutter#183907)

Refactors EngineAccessibilityFeatures to simplify its bitfield logic and
enforce proper initialization patterns.

Key highlights:
- Removed complex negated-bit logic for `supportsAnnounce`,
`autoPlayAnimatedImages`, and `autoPlayVideos`, switching to positive
"enabled" flags.
- Made the `EngineAccessibilityFeatures` constructor private, ensuring
the builder and `defaultFeatures` constant are the only ways to create
new instances.
- Optimized `copyWith` and removed redundant explicit zero
initializations across the engine and tests.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [AI contribution guidelines] and understand my
responsibilities, or I am not using AI tools.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

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

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[AI contribution guidelines]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#ai-contribution-guidelines
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
ahmedsameha1 pushed a commit to ahmedsameha1/flutter that referenced this pull request Apr 14, 2026
…lity features (flutter#183907)

Refactors EngineAccessibilityFeatures to simplify its bitfield logic and
enforce proper initialization patterns.

Key highlights:
- Removed complex negated-bit logic for `supportsAnnounce`,
`autoPlayAnimatedImages`, and `autoPlayVideos`, switching to positive
"enabled" flags.
- Made the `EngineAccessibilityFeatures` constructor private, ensuring
the builder and `defaultFeatures` constant are the only ways to create
new instances.
- Optimized `copyWith` and removed redundant explicit zero
initializations across the engine and tests.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [AI contribution guidelines] and understand my
responsibilities, or I am not using AI tools.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

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

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[AI contribution guidelines]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#ai-contribution-guidelines
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
Jyndigo pushed a commit to uesp/wkwebview_flutter that referenced this pull request Apr 15, 2026
…(#11345)

Manual roll Flutter from dd64978dfae1 to 82d96ef98a33 (89 revisions)

Manual roll requested by tarrinneal@google.com

flutter/flutter@dd64978...82d96ef

2026-03-24 116356835+AbdeMohlbi@users.noreply.github.com Fix RenderStack's documentation (flutter/flutter#183822)
2026-03-24 engine-flutter-autoroll@skia.org Roll Skia from a465876e3156 to f4e59f82dc69 (4 revisions) (flutter/flutter#184082)
2026-03-24 30870216+gaaclarke@users.noreply.github.com Refactor: Removes Geometry field from ColorSourceContents (flutter/flutter#183952)
2026-03-24 katelovett@google.com Refactor layout dimensions (flutter/flutter#184066)
2026-03-24 abadasamuelosp@gmail.com feat: Add --base-href support to flutter run for web (flutter/flutter#182709)
2026-03-24 43498643+mkucharski17@users.noreply.github.com Add LeanCode and contributors to AUTHORS (flutter/flutter#182997)
2026-03-24 dacoharkes@google.com [tools] Make sure `assemble` has a pubspec as cwd (flutter/flutter#184067)
2026-03-24 engine-flutter-autoroll@skia.org Roll Skia from bf4f2763b6e6 to a465876e3156 (5 revisions) (flutter/flutter#184068)
2026-03-24 evanwall@buffalo.edu fix gaussian blur getting clipped with negative scale (flutter/flutter#184037)
2026-03-24 34871572+gmackall@users.noreply.github.com Keep glyphs for variable fonts (flutter/flutter#183857)
2026-03-24 dacoharkes@google.com Mark `IconData` `final` and `@mustBeConst` (flutter/flutter#181345)
2026-03-24 engine-flutter-autoroll@skia.org Roll Skia from 62841a512deb to bf4f2763b6e6 (1 revision) (flutter/flutter#184062)
2026-03-24 ahmedsameha1@gmail.com Use Color.a instead of Color.alpha to assert the opacity of the color… (flutter/flutter#184003)
2026-03-24 engine-flutter-autoroll@skia.org Roll Dart SDK from f504293598f2 to b08bd0a3ee39 (1 revision) (flutter/flutter#184054)
2026-03-24 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from x9x76ERXhrt0Q3zKf... to M3sjWggTQmP2AD4bS... (flutter/flutter#184053)
2026-03-24 engine-flutter-autoroll@skia.org Roll Dart SDK from 788e347194a6 to f504293598f2 (1 revision) (flutter/flutter#184048)
2026-03-24 engine-flutter-autoroll@skia.org Roll Skia from fb6acef456ea to 62841a512deb (2 revisions) (flutter/flutter#184046)
2026-03-24 dkwingsmt@users.noreply.github.com [Slider] Remove value indicator painter when animation is dismissed (flutter/flutter#182991)
2026-03-24 engine-flutter-autoroll@skia.org Manual roll ICU from 7971660ba630 to ee5f27adc28b (1 revision) (flutter/flutter#184041)
2026-03-23 ishaquehassan@gmail.com Add scrollPadding property to DropdownMenu (flutter/flutter#183109)
2026-03-23 137456488+flutter-pub-roller-bot@users.noreply.github.com Roll pub packages (flutter/flutter#183895)
2026-03-23 engine-flutter-autoroll@skia.org Roll Skia from c2b58922e37d to fb6acef456ea (1 revision) (flutter/flutter#184033)
2026-03-23 engine-flutter-autoroll@skia.org Roll Dart SDK from b172bea4f008 to 788e347194a6 (2 revisions) (flutter/flutter#184035)
2026-03-23 codefu@google.com chore: deflake Linux_android_emu android_display_cutout (flutter/flutter#183522)
2026-03-23 vs.ashoknarayan@gmail.com Add note about gclient sync network failures and workaround (flutter/flutter#183794)
2026-03-23 engine-flutter-autoroll@skia.org Roll Skia from a81bf411a5cb to c2b58922e37d (3 revisions) (flutter/flutter#184016)
2026-03-23 1961493+harryterkelsen@users.noreply.github.com refactor(web): use positive logic and platform defaults for accessibility features (flutter/flutter#183907)
2026-03-23 jhy03261997@gmail.com [android][a11y] set "android.widget.ProgressBar" according to semantics role (flutter/flutter#183897)
2026-03-23 mr-peipei@web.de Add progress bar to artifact downloads (flutter/flutter#182836)
2026-03-23 116356835+AbdeMohlbi@users.noreply.github.com Add windows instruction to `Forcing Flutter Tools Snapshot Regeneration` (flutter/flutter#183977)
2026-03-23 engine-flutter-autoroll@skia.org Roll Skia from 42a6eb1dc5c9 to a81bf411a5cb (3 revisions) (flutter/flutter#184007)
2026-03-23 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from q1xqlQPxq8a3JTA4P... to x9x76ERXhrt0Q3zKf... (flutter/flutter#184006)
2026-03-23 engine-flutter-autoroll@skia.org Roll Dart SDK from ef45f179526f to b172bea4f008 (1 revision) (flutter/flutter#184004)
2026-03-23 engine-flutter-autoroll@skia.org Roll Skia from 964c3b33fd73 to 42a6eb1dc5c9 (1 revision) (flutter/flutter#184001)
2026-03-23 matt.kosarek@canonical.com Update the windowing docs per the latest wording found while doing Satellites (flutter/flutter#183748)
2026-03-22 48625061+muradhossin@users.noreply.github.com Add assert for mutually exclusive errorBuilder and errorText (flutter/flutter#183901)
2026-03-22 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from Yc7Ijp2ySjG841xha... to q1xqlQPxq8a3JTA4P... (flutter/flutter#183991)
2026-03-21 engine-flutter-autoroll@skia.org Roll Skia from 812822ad5caa to 964c3b33fd73 (1 revision) (flutter/flutter#183982)
2026-03-21 engine-flutter-autoroll@skia.org Roll Dart SDK from c831a55e2fcc to ef45f179526f (1 revision) (flutter/flutter#183973)
2026-03-21 engine-flutter-autoroll@skia.org Roll Skia from 569cc0475162 to 812822ad5caa (2 revisions) (flutter/flutter#183970)
2026-03-20 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from ilAIAVzu4xmeb078x... to Yc7Ijp2ySjG841xha... (flutter/flutter#183956)
2026-03-20 engine-flutter-autoroll@skia.org Roll Skia from 79a14289c60d to 569cc0475162 (3 revisions) (flutter/flutter#183954)
2026-03-20 engine-flutter-autoroll@skia.org Roll Dart SDK from c88a8008e93b to c831a55e2fcc (3 revisions) (flutter/flutter#183953)
2026-03-20 engine-flutter-autoroll@skia.org Roll Skia from 8d4c76b92050 to 79a14289c60d (4 revisions) (flutter/flutter#183949)
...
creatorpiyush pushed a commit to creatorpiyush/packages that referenced this pull request Jun 10, 2026
…lutter#11345)

Manual roll Flutter from dd64978dfae1 to 82d96ef98a33 (89 revisions)

Manual roll requested by tarrinneal@google.com

flutter/flutter@dd64978...82d96ef

2026-03-24 116356835+AbdeMohlbi@users.noreply.github.com Fix RenderStack's documentation (flutter/flutter#183822)
2026-03-24 engine-flutter-autoroll@skia.org Roll Skia from a465876e3156 to f4e59f82dc69 (4 revisions) (flutter/flutter#184082)
2026-03-24 30870216+gaaclarke@users.noreply.github.com Refactor: Removes Geometry field from ColorSourceContents (flutter/flutter#183952)
2026-03-24 katelovett@google.com Refactor layout dimensions (flutter/flutter#184066)
2026-03-24 abadasamuelosp@gmail.com feat: Add --base-href support to flutter run for web (flutter/flutter#182709)
2026-03-24 43498643+mkucharski17@users.noreply.github.com Add LeanCode and contributors to AUTHORS (flutter/flutter#182997)
2026-03-24 dacoharkes@google.com [tools] Make sure `assemble` has a pubspec as cwd (flutter/flutter#184067)
2026-03-24 engine-flutter-autoroll@skia.org Roll Skia from bf4f2763b6e6 to a465876e3156 (5 revisions) (flutter/flutter#184068)
2026-03-24 evanwall@buffalo.edu fix gaussian blur getting clipped with negative scale (flutter/flutter#184037)
2026-03-24 34871572+gmackall@users.noreply.github.com Keep glyphs for variable fonts (flutter/flutter#183857)
2026-03-24 dacoharkes@google.com Mark `IconData` `final` and `@mustBeConst` (flutter/flutter#181345)
2026-03-24 engine-flutter-autoroll@skia.org Roll Skia from 62841a512deb to bf4f2763b6e6 (1 revision) (flutter/flutter#184062)
2026-03-24 ahmedsameha1@gmail.com Use Color.a instead of Color.alpha to assert the opacity of the color… (flutter/flutter#184003)
2026-03-24 engine-flutter-autoroll@skia.org Roll Dart SDK from f504293598f2 to b08bd0a3ee39 (1 revision) (flutter/flutter#184054)
2026-03-24 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from x9x76ERXhrt0Q3zKf... to M3sjWggTQmP2AD4bS... (flutter/flutter#184053)
2026-03-24 engine-flutter-autoroll@skia.org Roll Dart SDK from 788e347194a6 to f504293598f2 (1 revision) (flutter/flutter#184048)
2026-03-24 engine-flutter-autoroll@skia.org Roll Skia from fb6acef456ea to 62841a512deb (2 revisions) (flutter/flutter#184046)
2026-03-24 dkwingsmt@users.noreply.github.com [Slider] Remove value indicator painter when animation is dismissed (flutter/flutter#182991)
2026-03-24 engine-flutter-autoroll@skia.org Manual roll ICU from 7971660ba630 to ee5f27adc28b (1 revision) (flutter/flutter#184041)
2026-03-23 ishaquehassan@gmail.com Add scrollPadding property to DropdownMenu (flutter/flutter#183109)
2026-03-23 137456488+flutter-pub-roller-bot@users.noreply.github.com Roll pub packages (flutter/flutter#183895)
2026-03-23 engine-flutter-autoroll@skia.org Roll Skia from c2b58922e37d to fb6acef456ea (1 revision) (flutter/flutter#184033)
2026-03-23 engine-flutter-autoroll@skia.org Roll Dart SDK from b172bea4f008 to 788e347194a6 (2 revisions) (flutter/flutter#184035)
2026-03-23 codefu@google.com chore: deflake Linux_android_emu android_display_cutout (flutter/flutter#183522)
2026-03-23 vs.ashoknarayan@gmail.com Add note about gclient sync network failures and workaround (flutter/flutter#183794)
2026-03-23 engine-flutter-autoroll@skia.org Roll Skia from a81bf411a5cb to c2b58922e37d (3 revisions) (flutter/flutter#184016)
2026-03-23 1961493+harryterkelsen@users.noreply.github.com refactor(web): use positive logic and platform defaults for accessibility features (flutter/flutter#183907)
2026-03-23 jhy03261997@gmail.com [android][a11y] set "android.widget.ProgressBar" according to semantics role (flutter/flutter#183897)
2026-03-23 mr-peipei@web.de Add progress bar to artifact downloads (flutter/flutter#182836)
2026-03-23 116356835+AbdeMohlbi@users.noreply.github.com Add windows instruction to `Forcing Flutter Tools Snapshot Regeneration` (flutter/flutter#183977)
2026-03-23 engine-flutter-autoroll@skia.org Roll Skia from 42a6eb1dc5c9 to a81bf411a5cb (3 revisions) (flutter/flutter#184007)
2026-03-23 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from q1xqlQPxq8a3JTA4P... to x9x76ERXhrt0Q3zKf... (flutter/flutter#184006)
2026-03-23 engine-flutter-autoroll@skia.org Roll Dart SDK from ef45f179526f to b172bea4f008 (1 revision) (flutter/flutter#184004)
2026-03-23 engine-flutter-autoroll@skia.org Roll Skia from 964c3b33fd73 to 42a6eb1dc5c9 (1 revision) (flutter/flutter#184001)
2026-03-23 matt.kosarek@canonical.com Update the windowing docs per the latest wording found while doing Satellites (flutter/flutter#183748)
2026-03-22 48625061+muradhossin@users.noreply.github.com Add assert for mutually exclusive errorBuilder and errorText (flutter/flutter#183901)
2026-03-22 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from Yc7Ijp2ySjG841xha... to q1xqlQPxq8a3JTA4P... (flutter/flutter#183991)
2026-03-21 engine-flutter-autoroll@skia.org Roll Skia from 812822ad5caa to 964c3b33fd73 (1 revision) (flutter/flutter#183982)
2026-03-21 engine-flutter-autoroll@skia.org Roll Dart SDK from c831a55e2fcc to ef45f179526f (1 revision) (flutter/flutter#183973)
2026-03-21 engine-flutter-autoroll@skia.org Roll Skia from 569cc0475162 to 812822ad5caa (2 revisions) (flutter/flutter#183970)
2026-03-20 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from ilAIAVzu4xmeb078x... to Yc7Ijp2ySjG841xha... (flutter/flutter#183956)
2026-03-20 engine-flutter-autoroll@skia.org Roll Skia from 79a14289c60d to 569cc0475162 (3 revisions) (flutter/flutter#183954)
2026-03-20 engine-flutter-autoroll@skia.org Roll Dart SDK from c88a8008e93b to c831a55e2fcc (3 revisions) (flutter/flutter#183953)
2026-03-20 engine-flutter-autoroll@skia.org Roll Skia from 8d4c76b92050 to 79a14289c60d (4 revisions) (flutter/flutter#183949)
...
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) CICD Run CI/CD 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.

2 participants