0

gd: Add a11y strings for GD main menu

This CL adds various a11y strings for the GD main menu.

Bug: b/320539158
Test: manual test with ChromeVox
Change-Id: I2ee53fd425ca09032ffd506778438634af521652
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5336177
Reviewed-by: Ahmed Fakhry <afakhry@chromium.org>
Reviewed-by: Cici Ruan <cuicuiruan@google.com>
Commit-Queue: Joseph Pang <pjlee@google.com>
Reviewed-by: Prameet Shah <phshah@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1270295}
This commit is contained in:
Joseph Pang
2024-03-08 18:27:14 +00:00
committed by Chromium LUCI CQ
parent 81052321cd
commit c547783b78
11 changed files with 69 additions and 11 deletions

@ -7505,9 +7505,18 @@ To shut down the device, press and hold the power button on the device again.
<message name="IDS_ASH_GAME_DASHBOARD_GAME_DASHBOARD_BUTTON_TITLE" desc="The default title of the Game Dashboard button.">
Game dashboard
</message>
<message name="IDS_ASH_GAME_DASHBOARD_HELP_BUTTON_A11Y_LABEL" translateable="false" desc="Help button a11y label. Spoken by screen readers when the help button gets focus but not visually rendered.">
Get help
</message>
<message name="IDS_ASH_GAME_DASHBOARD_HIDDEN_STATUS" translateable="false" desc="The hidden state for compact Game Dashboard tile sub-labels.">
Hidden
</message>
<message name="IDS_ASH_GAME_DASHBOARD_RECORD_GAME_TILE_TOOLTIPS_RECORD_START" translateable="false" desc="The tooltips for record game tile when recording has not yet started.">
Record game
</message>
<message name="IDS_ASH_GAME_DASHBOARD_RECORD_GAME_TILE_TOOLTIPS_RECORD_STOP" translateable="false" desc="The tooltips for record game tile when recording is in progress.">
Stop recording
</message>
<message name="IDS_ASH_GAME_DASHBOARD_RECORD_GAME_TILE_BUTTON_TITLE" translateable="false" desc="The display name for the Game Dashboard record game tile.">
Record game
</message>
@ -7517,6 +7526,9 @@ To shut down the device, press and hold the power button on the device again.
<message name="IDS_ASH_GAME_DASHBOARD_SCREENSHOT_TILE_BUTTON_TITLE" translateable="false" desc="The display name for the Game Dashboard screenshot tile.">
Take screenshot
</message>
<message name="IDS_ASH_GAME_DASHBOARD_SCREEN_SIZE_SETTINGS_BUTTON_A11Y_LABEL" translateable="false" desc="Screen size settings button a11y label. Spoken by screen readers when the screen size settings button button gets focus but not visually rendered.">
Edit screen size
</message>
<message name="IDS_ASH_GAME_DASHBOARD_SCREEN_SIZE_SETTINGS_TITLE" translateable="false" desc="The display name for the Game Dashboard screen size settings.">
Screen size
</message>
@ -7538,6 +7550,12 @@ To shut down the device, press and hold the power button on the device again.
<message name="IDS_ASH_GAME_DASHBOARD_TILE_ON" desc="The label for enabled Game Dashboard tiles.">
On
</message>
<message name="IDS_ASH_GAME_DASHBOARD_TOOLBAR_TILE_TOOLTIPS_HIDE_TOOLBAR" translateable="false" desc="The tooltips for toolbar tile when the toolbar is visible.">
Hide toolbar
</message>
<message name="IDS_ASH_GAME_DASHBOARD_TOOLBAR_TILE_TOOLTIPS_SHOW_TOOLBAR" translateable="false" desc="The tooltips for toolbar tile when the toolbar is not visible.">
Show toolbar
</message>
<message name="IDS_ASH_GAME_DASHBOARD_TOOLBAR_TILE_BUTTON_TITLE" translateable="false" desc="The display name for the Game Dashboard toolbar tile.">
Toolbar
</message>
@ -7552,6 +7570,15 @@ To shut down the device, press and hold the power button on the device again.
</message>
<!-- Game Dashboard / Game Controls strings -->
<message name="IDS_ASH_GAME_DASHBOARD_GC_CONTROLS_DETAILS_BUTTON_TOOLTIP" desc="Tooltip for the game controls details row.">
Edit game controls
</message>
<message name="IDS_ASH_GAME_DASHBOARD_GC_FEATURE_SWITCH_TOOLTIPS_OFF" desc="The tooltips for game controls feature switch when game controls is enabled.">
Turn off game controls
</message>
<message name="IDS_ASH_GAME_DASHBOARD_GC_FEATURE_SWITCH_TOOLTIPS_ON" desc="The tooltips for game controls feature switch when game controls is disabled.">
Turn on game controls
</message>
<message name="IDS_ASH_GAME_DASHBOARD_GC_TILE_VISIBLE" desc="The sub-label for Game Controls tile when input mapping hint is visible.">
Visible
</message>

@ -0,0 +1 @@
ed7d5f57deee29bd986a82e3968ca6bd7ff70848

@ -0,0 +1 @@
4be85b772ce9e38288828f0b9809370fca25d9c9

@ -0,0 +1 @@
67f6a9cef233d3b0b3528aaa90418cfedaccc6b1

@ -0,0 +1 @@
de151284bf26a1d2db006b07762c53d806a308d6

@ -0,0 +1 @@
d58be01d59f4e63368a5bb0e80ad6fe11e8471f0

@ -0,0 +1 @@
9d27d91ac38dba72e2d6131aa319084272821fc7

@ -0,0 +1 @@
c099b530ee64ad0a937ef4a4b0bb90a57d1b8d76

@ -0,0 +1 @@
cd178218e024bd2b2ceb9dc11084e94b29d32c31

@ -0,0 +1 @@
acf854628037044fa751b859195d517f4ed30fd2

@ -309,8 +309,9 @@ class ScreenSizeRow : public views::Button {
const std::u16string title = l10n_util::GetStringUTF16(
IDS_ASH_GAME_DASHBOARD_SCREEN_SIZE_SETTINGS_TITLE);
SetAccessibleName(title);
SetTooltipText(tooltip ? l10n_util::GetStringUTF16(tooltip) : title);
SetAccessibleName(l10n_util::GetStringUTF16(
IDS_ASH_GAME_DASHBOARD_SCREEN_SIZE_SETTINGS_BUTTON_A11Y_LABEL));
auto* layout =
ConfigureFeatureRowLayout(this, kScreenSizeRowCorners, enabled);
@ -366,10 +367,8 @@ class GameDashboardMainMenuView::GameControlsDetailsRow : public views::Button {
game_dashboard_utils::GetGameControlsFlag(GetGameWindow());
CHECK(flags);
const auto title = l10n_util::GetStringUTF16(
IDS_ASH_GAME_DASHBOARD_CONTROLS_TILE_BUTTON_TITLE);
SetAccessibleName(title);
SetTooltipText(title);
SetTooltipText(l10n_util::GetStringUTF16(
IDS_ASH_GAME_DASHBOARD_GC_CONTROLS_DETAILS_BUTTON_TOOLTIP));
const bool is_available = game_dashboard_utils::IsFlagSet(
*flags, ArcGameControlsFlag::kAvailable);
@ -378,7 +377,9 @@ class GameDashboardMainMenuView::GameControlsDetailsRow : public views::Button {
// Add header.
header_ = AddChildView(std::make_unique<FeatureHeader>(
/*is_enabled=*/is_available, kGdGameControlsIcon, title));
/*is_enabled=*/is_available, kGdGameControlsIcon,
l10n_util::GetStringUTF16(
IDS_ASH_GAME_DASHBOARD_CONTROLS_TILE_BUTTON_TITLE)));
// Flex `header_` to fill the empty space.
layout->SetFlexForView(header_, /*flex=*/1);
@ -411,12 +412,13 @@ class GameDashboardMainMenuView::GameControlsDetailsRow : public views::Button {
AddChildView(std::make_unique<Switch>(base::BindRepeating(
&GameControlsDetailsRow::OnFeatureSwitchButtonPressed,
base::Unretained(this))));
// TODO(b/279117180): Update the accessibility name.
feature_switch_->SetAccessibleName(
l10n_util::GetStringUTF16(IDS_APP_LIST_FOLDER_NAME_PLACEHOLDER));
feature_switch_->SetProperty(views::kMarginsKey,
gfx::Insets::TLBR(0, 8, 0, 18));
feature_switch_->SetIsOn(is_feature_enabled);
feature_switch_->SetTooltipText(l10n_util::GetStringUTF16(
feature_switch_->GetIsOn()
? IDS_ASH_GAME_DASHBOARD_GC_FEATURE_SWITCH_TOOLTIPS_OFF
: IDS_ASH_GAME_DASHBOARD_GC_FEATURE_SWITCH_TOOLTIPS_ON));
// Add arrow icon.
AddChildView(
std::make_unique<views::ImageView>(ui::ImageModel::FromVectorIcon(
@ -461,6 +463,10 @@ class GameDashboardMainMenuView::GameControlsDetailsRow : public views::Button {
/*enable_flag=*/ArcGameControlsFlag::kEnabled |
ArcGameControlsFlag::kHint),
is_toggled));
feature_switch_->SetTooltipText(l10n_util::GetStringUTF16(
feature_switch_->GetIsOn()
? IDS_ASH_GAME_DASHBOARD_GC_FEATURE_SWITCH_TOOLTIPS_OFF
: IDS_ASH_GAME_DASHBOARD_GC_FEATURE_SWITCH_TOOLTIPS_ON));
main_menu_->UpdateGameControlsTile();
}
@ -575,6 +581,10 @@ void GameDashboardMainMenuView::OnToolbarTilePressed() {
? l10n_util::GetStringUTF16(IDS_ASH_GAME_DASHBOARD_VISIBLE_STATUS)
: l10n_util::GetStringUTF16(IDS_ASH_GAME_DASHBOARD_HIDDEN_STATUS));
toolbar_tile_->SetToggled(toolbar_visible);
toolbar_tile_->SetTooltipText(l10n_util::GetStringUTF16(
toolbar_tile_->IsToggled()
? IDS_ASH_GAME_DASHBOARD_TOOLBAR_TILE_TOOLTIPS_HIDE_TOOLBAR
: IDS_ASH_GAME_DASHBOARD_TOOLBAR_TILE_TOOLTIPS_SHOW_TOOLBAR));
}
void GameDashboardMainMenuView::OnRecordGameTilePressed() {
@ -716,6 +726,10 @@ void GameDashboardMainMenuView::AddShortcutTilesRow() {
? l10n_util::GetStringUTF16(IDS_ASH_GAME_DASHBOARD_VISIBLE_STATUS)
: l10n_util::GetStringUTF16(IDS_ASH_GAME_DASHBOARD_HIDDEN_STATUS)));
toolbar_tile_->SetToggled(toolbar_visible);
toolbar_tile_->SetTooltipText(l10n_util::GetStringUTF16(
toolbar_tile_->IsToggled()
? IDS_ASH_GAME_DASHBOARD_TOOLBAR_TILE_TOOLTIPS_HIDE_TOOLBAR
: IDS_ASH_GAME_DASHBOARD_TOOLBAR_TILE_TOOLTIPS_SHOW_TOOLBAR));
MaybeAddGameControlsTile(container);
@ -737,7 +751,7 @@ void GameDashboardMainMenuView::AddShortcutTilesRow() {
GameDashboardController::Get()->active_recording_context() == context_);
}
container->AddChildView(CreateFeatureTile(
auto* screenshot_tile = container->AddChildView(CreateFeatureTile(
base::BindRepeating(&GameDashboardMainMenuView::OnScreenshotTilePressed,
base::Unretained(this)),
/*is_togglable=*/true, FeatureTile::TileType::kCompact,
@ -745,6 +759,8 @@ void GameDashboardMainMenuView::AddShortcutTilesRow() {
l10n_util::GetStringUTF16(
IDS_ASH_GAME_DASHBOARD_SCREENSHOT_TILE_BUTTON_TITLE),
/*sub_label=*/std::nullopt));
// `screenshot_tile` is treated as a button instead of toggle button here.
screenshot_tile->SetAccessibleRole(ax::mojom::Role::kButton);
}
void GameDashboardMainMenuView::MaybeAddArcFeatureRows() {
@ -830,11 +846,13 @@ void GameDashboardMainMenuView::AddUtilityClusterRow() {
auto* empty_view = container->AddChildView(std::make_unique<views::View>());
layout->SetFlexForView(empty_view, /*flex=*/1);
container->AddChildView(CreateIconButton(
auto* help_button = container->AddChildView(CreateIconButton(
base::BindRepeating(&GameDashboardMainMenuView::OnHelpButtonPressed,
base::Unretained(this)),
VIEW_ID_GD_HELP_BUTTON, kGdHelpIcon,
l10n_util::GetStringUTF16(IDS_ASH_GAME_DASHBOARD_HELP_TOOLTIP)));
help_button->SetAccessibleName(
l10n_util::GetStringUTF16(IDS_ASH_GAME_DASHBOARD_HELP_BUTTON_A11Y_LABEL));
container->AddChildView(CreateIconButton(
base::BindRepeating(&GameDashboardMainMenuView::OnSettingsButtonPressed,
base::Unretained(this)),
@ -886,6 +904,10 @@ void GameDashboardMainMenuView::UpdateRecordGameTile(
}
record_game_tile_->SetSubLabelVisibility(is_recording_game_window);
record_game_tile_->SetToggled(is_recording_game_window);
record_game_tile_->SetTooltipText(l10n_util::GetStringUTF16(
record_game_tile_->IsToggled()
? IDS_ASH_GAME_DASHBOARD_RECORD_GAME_TILE_TOOLTIPS_RECORD_STOP
: IDS_ASH_GAME_DASHBOARD_RECORD_GAME_TILE_TOOLTIPS_RECORD_START));
}
void GameDashboardMainMenuView::MaybeDecorateSetupButton(bool is_o4c) {