Index: chrome/browser/chromeos/login/update_view.cc |
diff --git a/chrome/browser/chromeos/login/update_view.cc b/chrome/browser/chromeos/login/update_view.cc |
index 541dee7ea7fc2d8670a824fa91e9b72b6471c5d3..6e192cfa0fad73c2a6e5809e43d46865f149e92d 100644 |
--- a/chrome/browser/chromeos/login/update_view.cc |
+++ b/chrome/browser/chromeos/login/update_view.cc |
@@ -6,6 +6,7 @@ |
#include <string> |
+#include "base/logging.h" |
#include "base/utf_string_conversions.h" |
#include "chrome/browser/chromeos/login/helper.h" |
#include "chrome/browser/chromeos/login/rounded_rect_painter.h" |
@@ -240,6 +241,24 @@ void UpdateView::UpdateVisibility() { |
} else { |
throbber_->Stop(); |
} |
+ |
+ // Speak the shown label when accessibility is enabled. |
+ const Label* label_spoken(NULL); |
+ if (checking_label_->IsVisible()) { |
+ label_spoken = checking_label_; |
+ } else if (manual_reboot_label_->IsVisible()) { |
+ label_spoken = manual_reboot_label_; |
+ } else if (preparing_updates_label_->IsVisible()) { |
+ label_spoken = preparing_updates_label_; |
+ } else if (installing_updates_label_->IsVisible()) { |
+ label_spoken = installing_updates_label_; |
+ } else { |
+ NOTREACHED(); |
+ } |
+ const std::string text = |
+ label_spoken ? WideToUTF8(label_spoken->GetText()) : std::string(); |
+ WizardAccessibilityHelper::GetInstance()->MaybeSpeak(text.c_str(), false, |
+ true); |
} |
} // namespace chromeos |