From 33e1bcf96fd767ddf210ca61481afc8354290ef0 Mon Sep 17 00:00:00 2001 From: Mouad Debbar Date: Thu, 20 Jun 2024 19:21:36 -0400 Subject: [PATCH] [web] Don't add `href="#"` to semantics links (flutter/engine#53395) This is a stopgap for issues like https://github.com/flutter/flutter/issues/146291 until we land better link semantics (in https://github.com/flutter/flutter/issues/150263 and https://github.com/flutter/packages/pull/6711). For the time being, the `href="#"` isn't providing any extra value, and is causing the browser to navigate to to `#` whenever the semantics link is clicked, which is undesirable. Fixes https://github.com/flutter/flutter/issues/146291 --- .../flutter/lib/web_ui/lib/src/engine/semantics/link.dart | 5 ++--- .../lib/web_ui/test/engine/semantics/semantics_test.dart | 1 + 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/link.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/link.dart index 87a2a47a07..3108e8cea8 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/link.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/link.dart @@ -18,9 +18,8 @@ class Link extends PrimaryRoleManager { @override DomElement createElement() { final DomElement element = domDocument.createElement('a'); - // TODO(chunhtai): Fill in the real link once the framework sends entire uri. - // https://github.com/flutter/flutter/issues/102535. - element.setAttribute('href', '#'); + // TODO(mdebbar): Fill in the real link once the framework sends entire uri. + // https://github.com/flutter/flutter/issues/150263. element.style.display = 'block'; return element; } diff --git a/engine/src/flutter/lib/web_ui/test/engine/semantics/semantics_test.dart b/engine/src/flutter/lib/web_ui/test/engine/semantics/semantics_test.dart index 117ebc55cb..c89472bbfa 100644 --- a/engine/src/flutter/lib/web_ui/test/engine/semantics/semantics_test.dart +++ b/engine/src/flutter/lib/web_ui/test/engine/semantics/semantics_test.dart @@ -3536,6 +3536,7 @@ void _testLink() { final SemanticsObject object = pumpSemantics(); expect(object.element.tagName.toLowerCase(), 'a'); + expect(object.element.hasAttribute('href'), isFalse); }); }