mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Removed explicit flag checks from SemanticRole.acceptsPointerEvents
This commit is contained in:
parent
6749ac5ca1
commit
69dfd15092
@ -71,6 +71,9 @@ class SemanticIncrementable extends SemanticRole {
|
||||
_focusManager.manage(semanticsObject.id, _element);
|
||||
}
|
||||
|
||||
@override
|
||||
bool get acceptsPointerEvents => true;
|
||||
|
||||
@override
|
||||
bool focusAsRouteDefault() {
|
||||
_element.focusWithoutScroll();
|
||||
|
||||
@ -597,17 +597,7 @@ abstract class SemanticRole {
|
||||
return semanticsObject.scopesRoute;
|
||||
}
|
||||
|
||||
// Only accept pointer events for leaf nodes with interactive semantics.
|
||||
// This prevents non-interactive leaf nodes (like empty containers in dialogs)
|
||||
// from intercepting pointer events meant for underlying widgets like modal
|
||||
// barriers.
|
||||
return semanticsObject.isTappable ||
|
||||
semanticsObject.isButton ||
|
||||
semanticsObject.isCheckable ||
|
||||
semanticsObject.flags.isTextField ||
|
||||
semanticsObject.flags.isLink ||
|
||||
semanticsObject.flags.isSlider ||
|
||||
semanticsObject.isIncrementable;
|
||||
return false;
|
||||
}
|
||||
|
||||
/// Semantic behaviors provided by this role, if any.
|
||||
|
||||
@ -1612,26 +1612,6 @@ void _testContainer() {
|
||||
expect(element.style.pointerEvents, 'all', reason: 'Link nodes should accept pointer events');
|
||||
});
|
||||
|
||||
test('slider leaf nodes accept pointer events', () async {
|
||||
final ui.SemanticsUpdateBuilder builder = ui.SemanticsUpdateBuilder();
|
||||
updateNode(
|
||||
builder,
|
||||
flags: const ui.SemanticsFlags(isSlider: true),
|
||||
actions: ui.SemanticsAction.increase.index | ui.SemanticsAction.decrease.index,
|
||||
);
|
||||
|
||||
owner().updateSemantics(builder.build());
|
||||
|
||||
final DomElement element = owner().semanticsHost.querySelector(
|
||||
'#${kFlutterSemanticNodePrefix}0',
|
||||
)!;
|
||||
expect(
|
||||
element.style.pointerEvents,
|
||||
'all',
|
||||
reason: 'Slider nodes should accept pointer events',
|
||||
);
|
||||
});
|
||||
|
||||
test('incrementable leaf nodes accept pointer events', () async {
|
||||
final ui.SemanticsUpdateBuilder builder = ui.SemanticsUpdateBuilder();
|
||||
updateNode(builder, actions: ui.SemanticsAction.increase.index);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user