Repository navigation
Closed
Labels
P1High-priority issues at the top of the work listHigh-priority issues at the top of the work listc: new featureNothing broken; request for a new capabilityNothing broken; request for a new capabilityc: proposalA detailed proposal for a change to FlutterA detailed proposal for a change to Fluttercustomer: acdccustomer: googleVarious Google teamsVarious Google teamsframeworkflutter/packages/flutter repository. See also f: labels.flutter/packages/flutter repository. See also f: labels.team-webOwned by Web platform teamOwned by Web platform teamtriaged-webTriaged by Web platform teamTriaged by Web platform team
Description
Context
To support Automatic Pointer Interceptors on the web, the engine must know the interactive bounds of all widgets. This requires the framework to send semantics information down to the engine by default. However, constructing and updating the full ARIA DOM tree is computationally expensive and shouldn't be done unless assistive technologies are actively requested.
Tasks
- Implement a "no-DOM semantics" mode in the Flutter Web Engine. This mode will process incoming semantics updates to maintain the internal
SemanticsObjecttree but skip the creation and styling ofaria-*DOM elements. - Turn on framework semantics by default on Web when not explicitly disabled.
- Performance Benchmarks: Write or update macrobenchmarks that test complex, scrollable UIs containing platform views. Validate that enabling this "no-DOM" semantics mode by default does not cause regressions in Time-to-Interactive (TTI), frame rendering time, or scroll smoothness.
Metadata
Metadata
Assignees
Labels
P1High-priority issues at the top of the work listHigh-priority issues at the top of the work listc: new featureNothing broken; request for a new capabilityNothing broken; request for a new capabilityc: proposalA detailed proposal for a change to FlutterA detailed proposal for a change to Fluttercustomer: acdccustomer: googleVarious Google teamsVarious Google teamsframeworkflutter/packages/flutter repository. See also f: labels.flutter/packages/flutter repository. See also f: labels.team-webOwned by Web platform teamOwned by Web platform teamtriaged-webTriaged by Web platform teamTriaged by Web platform team
Activity
harryterkelsen commentedon Oct 27, 2026
We're actually dropping this. Benchmarking shows that even without DOM manipulation, semantics by default incurs a noticeable performance penalty. I have another way of getting the hit test information in a draft PR.
github-actions commentedon Nov 10, 2026
This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of
flutter doctor -vand a minimal reproduction of the issue.