From 523bb047667ebac6013a0384fb76a95ec150f16a Mon Sep 17 00:00:00 2001
From: chrisgarrity <chrisg@media.mit.edu>
Date: Fri, 17 Aug 2018 08:07:31 -0400
Subject: [PATCH] move aria label onto languageSelector

---
 src/components/language-selector/language-selector.jsx | 4 +++-
 src/components/menu-bar/menu-bar.jsx                   | 2 +-
 test/integration/localization.test.js                  | 2 +-
 3 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/components/language-selector/language-selector.jsx b/src/components/language-selector/language-selector.jsx
index e7fd2fda4..fd4caef5f 100644
--- a/src/components/language-selector/language-selector.jsx
+++ b/src/components/language-selector/language-selector.jsx
@@ -7,8 +7,9 @@ import styles from './language-selector.css';
 // supported languages to exclude from the menu, but allow as a URL option
 const ignore = ['he'];
 
-const LanguageSelector = ({currentLocale, onChange}) => (
+const LanguageSelector = ({currentLocale, label, onChange}) => (
     <select
+        aria-label={label}
         className={styles.languageSelect}
         value={currentLocale}
         onChange={onChange}
@@ -30,6 +31,7 @@ const LanguageSelector = ({currentLocale, onChange}) => (
 
 LanguageSelector.propTypes = {
     currentLocale: PropTypes.string,
+    label: PropTypes.string,
     onChange: PropTypes.func
 };
 
diff --git a/src/components/menu-bar/menu-bar.jsx b/src/components/menu-bar/menu-bar.jsx
index 98bf19bc5..67e026edd 100644
--- a/src/components/menu-bar/menu-bar.jsx
+++ b/src/components/menu-bar/menu-bar.jsx
@@ -177,7 +177,7 @@ class MenuBar extends React.Component {
                                     src={dropdownCaret}
                                 />
                             </div>
-                            <LanguageSelector aria-label={this.props.intl.formatMessage(ariaMessages.language)} />
+                            <LanguageSelector label={this.props.intl.formatMessage(ariaMessages.language)} />
                         </div>
                         <div
                             className={classNames(styles.menuBarItem, styles.hoverable, {
diff --git a/test/integration/localization.test.js b/test/integration/localization.test.js
index 9c9193b97..cf02aa86b 100644
--- a/test/integration/localization.test.js
+++ b/test/integration/localization.test.js
@@ -25,7 +25,7 @@ describe('Localization', () => {
     test('Localization', async () => {
         await loadUri(uri);
         await clickXpath('//button[@title="Try It"]');
-        await clickXpath('//*[@aria-label="language selector"]/following-sibling::select');
+        await clickXpath('//*[@aria-label="language selector"]');
         await clickText('Deutsch');
         await new Promise(resolve => setTimeout(resolve, 1000)); // wait for blocks refresh
 
-- 
GitLab