Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(544)

Side by Side Diff: chrome/browser/resources/chromeos/login/network_dropdown.js

Issue 11428124: Improve accessible markup of OOBE network drop-down. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 /** 5 /**
6 * @fileoverview Network drop-down implementation. 6 * @fileoverview Network drop-down implementation.
7 */ 7 */
8 8
9 cr.define('cr.ui', function() { 9 cr.define('cr.ui', function() {
10 /** 10 /**
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
86 DropDown.KEYCODE_TAB = 9; 86 DropDown.KEYCODE_TAB = 9;
87 DropDown.KEYCODE_UP = 38; 87 DropDown.KEYCODE_UP = 38;
88 88
89 DropDown.prototype = { 89 DropDown.prototype = {
90 __proto__: HTMLDivElement.prototype, 90 __proto__: HTMLDivElement.prototype,
91 91
92 /** @override */ 92 /** @override */
93 decorate: function() { 93 decorate: function() {
94 this.appendChild(this.createOverlay_()); 94 this.appendChild(this.createOverlay_());
95 this.appendChild(this.title_ = this.createTitle_()); 95 this.appendChild(this.title_ = this.createTitle_());
96 this.appendChild(new DropDownContainer()); 96 var container = new DropDownContainer();
97 container.id = this.id + '-dropdown-container';
98 this.appendChild(container);
97 99
98 this.addEventListener('keydown', this.keyDownHandler_); 100 this.addEventListener('keydown', this.keyDownHandler_);
99 101
100 this.title_.id = this.id + '-dropdown'; 102 this.title_.id = this.id + '-dropdown';
101 this.title_.setAttribute('role', 'button'); 103 this.title_.setAttribute('role', 'button');
102 this.title_.setAttribute('aria-haspopup', 'true'); 104 this.title_.setAttribute('aria-haspopup', 'true');
105 this.title_.setAttribute('aria-owns', container.id);
103 }, 106 },
104 107
105 /** 108 /**
106 * Returns true if dropdown menu is shown. 109 * Returns true if dropdown menu is shown.
107 * @type {bool} Whether menu element is shown. 110 * @type {bool} Whether menu element is shown.
108 */ 111 */
109 get isShown() { 112 get isShown() {
110 return !this.container.hidden; 113 return !this.container.hidden;
111 }, 114 },
112 115
113 /** 116 /**
114 * Sets dropdown menu visibility. 117 * Sets dropdown menu visibility.
115 * @param {bool} show New visibility state for dropdown menu. 118 * @param {bool} show New visibility state for dropdown menu.
116 */ 119 */
117 set isShown(show) { 120 set isShown(show) {
118 this.firstElementChild.hidden = !show; 121 this.firstElementChild.hidden = !show;
119 this.container.hidden = !show; 122 this.container.hidden = !show;
120 if (show) { 123 if (show) {
121 this.container.selectItem(this.container.firstItem, false); 124 this.container.selectItem(this.container.firstItem, false);
122 this.title_.setAttribute('aria-pressed', 'true');
123 } else { 125 } else {
124 this.title_.setAttribute('aria-pressed', 'false');
125 this.title_.removeAttribute('aria-activedescendant'); 126 this.title_.removeAttribute('aria-activedescendant');
126 } 127 }
127 }, 128 },
128 129
129 /** 130 /**
130 * Returns title button. 131 * Returns title button.
131 */ 132 */
132 get titleButton() { 133 get titleButton() {
133 return this.children[1]; 134 return this.children[1];
134 }, 135 },
(...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after
411 * Refreshes network drop-down. Should be called on language change. 412 * Refreshes network drop-down. Should be called on language change.
412 */ 413 */
413 DropDown.refresh = function() { 414 DropDown.refresh = function() {
414 chrome.send('networkDropdownRefresh'); 415 chrome.send('networkDropdownRefresh');
415 }; 416 };
416 417
417 return { 418 return {
418 DropDown: DropDown 419 DropDown: DropDown
419 }; 420 };
420 }); 421 });
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698