diff --git a/frameworks/core/components/web/resource/web_delegate.cpp b/frameworks/core/components/web/resource/web_delegate.cpp index bd5981542fd5ba811f888a7e5cebb48471f5032e..42857b22815e7098534238223d912aaa793c2c22 100644 --- a/frameworks/core/components/web/resource/web_delegate.cpp +++ b/frameworks/core/components/web/resource/web_delegate.cpp @@ -5609,7 +5609,6 @@ void WebDelegate::OnErrorReceive(std::shared_ptrPostDelayedTask( [weak = WeakClaim(this)]() { @@ -5626,6 +5625,7 @@ void WebDelegate::AccessibilitySendPageChange() if (!accessibilityManager->IsScreenReaderEnabled()) { return; } + delegate->SetPageFinishedState(true); if (webNode->IsOnMainTree()) { if (!webPattern->CheckVisible()) { bool deleteResult = accessibilityManager->DeleteFromPageEventController(webNode); diff --git a/frameworks/core/components/web/resource/web_delegate.h b/frameworks/core/components/web/resource/web_delegate.h index e7d36b2a051a550b20cb6318b7c92eef5bb88b4d..33eb58a4b84dec739d6fc252a874bc2992aad66a 100644 --- a/frameworks/core/components/web/resource/web_delegate.h +++ b/frameworks/core/components/web/resource/web_delegate.h @@ -1437,7 +1437,7 @@ private: Method changePageUrlMethod_; Method isPagePathInvalidMethod_; State state_ { State::WAITINGFORSIZE }; - bool isPageFinished_; + bool isPageFinished_ = false; #ifdef OHOS_STANDARD_SYSTEM std::shared_ptr nweb_; std::shared_ptr cookieManager_ = nullptr; diff --git a/frameworks/core/components_ng/pattern/web/web_pattern.cpp b/frameworks/core/components_ng/pattern/web/web_pattern.cpp index 494ad370a7828b951cfd75a5db2b158018a6e641..f01fade22eb5423a5508ff3e9681dfdc58d6545b 100644 --- a/frameworks/core/components_ng/pattern/web/web_pattern.cpp +++ b/frameworks/core/components_ng/pattern/web/web_pattern.cpp @@ -1087,7 +1087,7 @@ void WebPattern::OnDetachFromMainTree() CHECK_NULL_VOID(frontend); auto accessibilityManager = frontend->GetAccessibilityManager(); CHECK_NULL_VOID(accessibilityManager); - accessibilityManager->ReleasePageEvent(host, true, true); + accessibilityManager->ReleasePageEvent(host, true, false); } void WebPattern::OnAttachToFrameNode()