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 @@
<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>
</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.">
Confirm and restart
</message>
......
......@@ -82,9 +82,10 @@
<template>
<!-- |selected| is a property of iron-list -->
<div class$="list-item [[getItemClass_(selected)]]"
tabindex$="[[tabIndex]]">
tabindex$="[[tabIndex]]"
aria-label="[[getAriaLabelForItem_(item, selected)]]">
<paper-ripple></paper-ripple>
<div class="flex padded">
<div class="flex padded" aria-hidden="true">
[[getDisplayText_(item)]]
</div>
<iron-icon icon="settings:check-circle" hidden="[[!selected]]">
......
......@@ -76,6 +76,18 @@ Polymer({
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
* @return {string} The text to be displayed.
......
......@@ -276,6 +276,10 @@ void AddLanguagesPageStringsV2(content::WebUIDataSource* html_source) {
IDS_OS_SETTINGS_LANGUAGES_OFFER_TRANSLATION_SUBLABEL},
{"changeDeviceLanguageDialogTitle",
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",
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