Fix the issue of inactive ChromeVox on profile migration screen.

For ChromeVox to be active,
AccessibilityManager::OnLoginOrLockScreenVisible() has to be called.
This patch makes it so that the method is called when displaying the
migration screen. It also adds a few accessibility related attributes to
the progress status so that the dynamic change gets read by ChromeVox.

Bug: 1315493
Change-Id: I7ea22377fe5926a16b858e956de5c8ca60f7e65d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3600510
Reviewed-by: Roman Sorokin <rsorokin@chromium.org>
Reviewed-by: Denis Kuznetsov <antrim@chromium.org>
Reviewed-by: Hidehiko Abe <hidehiko@chromium.org>
Commit-Queue: Yuta Hijikata <ythjkt@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1000928}
diff --git a/chrome/browser/ash/login/ui/login_display_host_webui.cc b/chrome/browser/ash/login/ui/login_display_host_webui.cc
index aa83b59..ff6258a 100644
--- a/chrome/browser/ash/login/ui/login_display_host_webui.cc
+++ b/chrome/browser/ash/login/ui/login_display_host_webui.cc
@@ -236,13 +236,16 @@
   if (LoginDisplayHost::default_host()) {
     // Tests may have already allocated an instance for us to use.
     display_host = LoginDisplayHost::default_host();
-  } else if (ShouldShowSigninScreen(first_screen) ||
-             first_screen == LacrosDataMigrationScreenView::kScreenId) {
+  } else if (ShouldShowSigninScreen(first_screen)) {
+    display_host = new LoginDisplayHostMojo(DisplayedScreen::SIGN_IN_SCREEN);
+  } else if (first_screen == LacrosDataMigrationScreenView::kScreenId) {
     // TODO(crbug.com/1178702): Once lacros is officially released,
     // `ShowLoginWizard()` will no longer be called with lacros screen id.
     // Instead simply call `SigninUI::StartBrowserDataMigration()` as part of
     // the login flow.
     display_host = new LoginDisplayHostMojo(DisplayedScreen::SIGN_IN_SCREEN);
+    DCHECK(session_manager::SessionManager::Get());
+    session_manager::SessionManager::Get()->NotifyLoginOrLockScreenVisible();
   } else {
     display_host = new LoginDisplayHostWebUI();
   }
diff --git a/chrome/browser/resources/chromeos/login/screens/login/lacros_data_migration.html b/chrome/browser/resources/chromeos/login/screens/login/lacros_data_migration.html
index 784fb94c..f5854084 100644
--- a/chrome/browser/resources/chromeos/login/screens/login/lacros_data_migration.html
+++ b/chrome/browser/resources/chromeos/login/screens/login/lacros_data_migration.html
@@ -43,7 +43,7 @@
           value="[[progressValue_]]">
       </paper-progress>
       <div slot="subtitle">
-        <p>
+        <p role="status" aria-live="polite">
           [[i18nDynamic(locale, 'lacrosDataMigrationSubtitle', progressValue_)]]
         </p>
         <p hidden="[[!canSkip_]]">