Commit fc161670 authored by My Nguyen's avatar My Nguyen Committed by Commit Bot

[OsSettingsLanguages] Add screen reader message for selecting language

Screenreader screenshot selected: http://screen/53h3eMnL8RTELzi
Screenreader screenshot not selected: http://screen/9h78tbAmL6tbqSB

Bug: 1113439
Change-Id: I2f2bf3c8e7f08de4050eb54883ef07764d5bbc71
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2418528
Commit-Queue: My Nguyen <myy@chromium.org>
Reviewed-by: default avatarKyle Horimoto <khorimoto@chromium.org>
Reviewed-by: default avatarRegan Hsu <hsuregan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#809055}
parent f8a99004
...@@ -265,6 +265,12 @@ ...@@ -265,6 +265,12 @@
<message name="IDS_OS_SETTINGS_LANGUAGES_CHANGE_DEVICE_LANGUAGE_DIALOG_DESCRIPTION" desc="Description for the dialog to change device language."> <message name="IDS_OS_SETTINGS_LANGUAGES_CHANGE_DEVICE_LANGUAGE_DIALOG_DESCRIPTION" desc="Description for the dialog to change device language.">
You need to restart your Chromebook to change the device language. <ph name="BEGIN_LINK_LEARN_MORE">&lt;a target="_blank" href="$1"&gt;</ph>Learn more<ph name="END_LINK_LEARN_MORE">&lt;/a&gt;</ph> You need to restart your Chromebook to change the device language. <ph name="BEGIN_LINK_LEARN_MORE">&lt;a target="_blank" href="$1"&gt;</ph>Learn more<ph name="END_LINK_LEARN_MORE">&lt;/a&gt;</ph>
</message> </message>
<message name="IDS_OS_SETTINGS_LANGUAGES_SELECTED_DEVICE_LANGUAGE_INSTRUCTION" desc="Instruction read by screen reader when users can unselect a language.">
<ph name="LANGUAGE">$1<ex>English</ex></ph> selected. Press Search plus Space to unselect.
</message>
<message name="IDS_OS_SETTINGS_LANGUAGES_NOT_SELECTED_DEVICE_LANGUAGE_INSTRUCTION" desc="Instruction read by screen reader when users can select a language.">
<ph name="LANGUAGE">$1<ex>English</ex></ph> not selected. Press Search plus Space to select.
</message>
<message name="IDS_OS_SETTINGS_LANGUAGES_CHANGE_DEVICE_LANGUAGE_CONFIRM_BUTTON_LABEL" desc="Label for the button where users can confirm the selected language and restart the device."> <message name="IDS_OS_SETTINGS_LANGUAGES_CHANGE_DEVICE_LANGUAGE_CONFIRM_BUTTON_LABEL" desc="Label for the button where users can confirm the selected language and restart the device.">
Confirm and restart Confirm and restart
</message> </message>
......
...@@ -82,9 +82,10 @@ ...@@ -82,9 +82,10 @@
<template> <template>
<!-- |selected| is a property of iron-list --> <!-- |selected| is a property of iron-list -->
<div class$="list-item [[getItemClass_(selected)]]" <div class$="list-item [[getItemClass_(selected)]]"
tabindex$="[[tabIndex]]"> tabindex$="[[tabIndex]]"
aria-label="[[getAriaLabelForItem_(item, selected)]]">
<paper-ripple></paper-ripple> <paper-ripple></paper-ripple>
<div class="flex padded"> <div class="flex padded" aria-hidden="true">
[[getDisplayText_(item)]] [[getDisplayText_(item)]]
</div> </div>
<iron-icon icon="settings:check-circle" hidden="[[!selected]]"> <iron-icon icon="settings:check-circle" hidden="[[!selected]]">
......
...@@ -76,6 +76,18 @@ Polymer({ ...@@ -76,6 +76,18 @@ Polymer({
return selected ? 'selected' : ''; return selected ? 'selected' : '';
}, },
/**
* @param {!chrome.languageSettingsPrivate.Language} item
* @param {boolean} selected
* @return {!string}
* @private
*/
getAriaLabelForItem_(item, selected) {
const instruction = selected ? 'selectedDeviceLanguageInstruction' :
'notSelectedDeviceLanguageInstruction';
return this.i18n(instruction, this.getDisplayText_(item));
},
/** /**
* @param {!chrome.languageSettingsPrivate.Language} language * @param {!chrome.languageSettingsPrivate.Language} language
* @return {string} The text to be displayed. * @return {string} The text to be displayed.
......
...@@ -276,6 +276,10 @@ void AddLanguagesPageStringsV2(content::WebUIDataSource* html_source) { ...@@ -276,6 +276,10 @@ void AddLanguagesPageStringsV2(content::WebUIDataSource* html_source) {
IDS_OS_SETTINGS_LANGUAGES_OFFER_TRANSLATION_SUBLABEL}, IDS_OS_SETTINGS_LANGUAGES_OFFER_TRANSLATION_SUBLABEL},
{"changeDeviceLanguageDialogTitle", {"changeDeviceLanguageDialogTitle",
IDS_OS_SETTINGS_LANGUAGES_CHANGE_DEVICE_LANGUAGE_DIALOG_TITLE}, IDS_OS_SETTINGS_LANGUAGES_CHANGE_DEVICE_LANGUAGE_DIALOG_TITLE},
{"selectedDeviceLanguageInstruction",
IDS_OS_SETTINGS_LANGUAGES_SELECTED_DEVICE_LANGUAGE_INSTRUCTION},
{"notSelectedDeviceLanguageInstruction",
IDS_OS_SETTINGS_LANGUAGES_NOT_SELECTED_DEVICE_LANGUAGE_INSTRUCTION},
{"changeDeviceLanguageConfirmButtonLabel", {"changeDeviceLanguageConfirmButtonLabel",
IDS_OS_SETTINGS_LANGUAGES_CHANGE_DEVICE_LANGUAGE_CONFIRM_BUTTON_LABEL}, IDS_OS_SETTINGS_LANGUAGES_CHANGE_DEVICE_LANGUAGE_CONFIRM_BUTTON_LABEL},
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment