12
12
* performed when adding ARIA to components.
13
13
*/
14
14
15
- import { Role } from './roles.js' ;
16
-
17
- import { State } from './attributes.js' ;
18
- import * as datatables from './datatables.js' ;
19
15
import * as array from '../../array/array.js' ;
20
16
import * as asserts from '../../asserts/asserts.js' ;
21
17
import * as dom from '../../dom/dom.js' ;
22
- import { TagName } from '../../dom/tagname.js' ;
18
+ import { TagName } from '../../dom/tagname.js' ;
23
19
import object from '../../object/object.js' ;
24
20
import * as googString from '../../string/string.js' ;
25
21
22
+ import { State } from './attributes.js' ;
23
+ import * as datatables from './datatables.js' ;
24
+ import { Role } from './roles.js' ;
25
+
26
26
27
27
/**
28
28
* ARIA states/properties prefix.
@@ -44,14 +44,25 @@ var ROLE_ATTRIBUTE_ = 'role';
44
44
* they don't contain content to be made accessible.
45
45
* @private
46
46
*/
47
- var TAGS_WITH_ASSUMED_ROLES_ = object . createSet ( [
48
- TagName . A , TagName . AREA , TagName . BUTTON ,
49
- TagName . HEAD , TagName . INPUT , TagName . LINK ,
50
- TagName . MENU , TagName . META , TagName . OPTGROUP ,
51
- TagName . OPTION , TagName . PROGRESS , TagName . STYLE ,
52
- TagName . SELECT , TagName . SOURCE , TagName . TEXTAREA ,
53
- TagName . TITLE , TagName . TRACK
54
- ] ) ;
47
+ var TAGS_WITH_ASSUMED_ROLES_ = {
48
+ [ TagName . A ] : true ,
49
+ [ TagName . AREA ] : true ,
50
+ [ TagName . BUTTON ] : true ,
51
+ [ TagName . HEAD ] : true ,
52
+ [ TagName . INPUT ] : true ,
53
+ [ TagName . LINK ] : true ,
54
+ [ TagName . MENU ] : true ,
55
+ [ TagName . META ] : true ,
56
+ [ TagName . OPTGROUP ] : true ,
57
+ [ TagName . OPTION ] : true ,
58
+ [ TagName . PROGRESS ] : true ,
59
+ [ TagName . STYLE ] : true ,
60
+ [ TagName . SELECT ] : true ,
61
+ [ TagName . SOURCE ] : true ,
62
+ [ TagName . TEXTAREA ] : true ,
63
+ [ TagName . TITLE ] : true ,
64
+ [ TagName . TRACK ] : true ,
65
+ } ;
55
66
56
67
57
68
/**
@@ -63,13 +74,9 @@ var TAGS_WITH_ASSUMED_ROLES_ = object.createSet([
63
74
* @private @const {!Array<Role>}
64
75
*/
65
76
var CONTAINER_ROLES_ = [
66
- Role . COMBOBOX , Role . GRID ,
67
- Role . GROUP , Role . LISTBOX ,
68
- Role . MENU , Role . MENUBAR ,
69
- Role . RADIOGROUP , Role . ROW ,
70
- Role . ROWGROUP , Role . TAB_LIST ,
71
- Role . TEXTBOX , Role . TOOLBAR ,
72
- Role . TREE , Role . TREEGRID
77
+ Role . COMBOBOX , Role . GRID , Role . GROUP , Role . LISTBOX , Role . MENU , Role . MENUBAR ,
78
+ Role . RADIOGROUP , Role . ROW , Role . ROWGROUP , Role . TAB_LIST , Role . TEXTBOX ,
79
+ Role . TOOLBAR , Role . TREE , Role . TREEGRID
73
80
] ;
74
81
75
82
@@ -202,8 +209,7 @@ export function getState(element, stateName) {
202
209
203
210
var attr =
204
211
/** @type {string|number|boolean } */ (
205
- element . getAttribute (
206
- getAriaAttributeName_ ( stateName ) ) ) ;
212
+ element . getAttribute ( getAriaAttributeName_ ( stateName ) ) ) ;
207
213
var isNullOrUndefined = attr == null || attr == undefined ;
208
214
return isNullOrUndefined ? '' : String ( attr ) ;
209
215
}
@@ -217,8 +223,7 @@ export function getState(element, stateName) {
217
223
* @return {?Element } DOM node of the activedescendant, if found.
218
224
*/
219
225
export function getActiveDescendant ( element ) {
220
- var id =
221
- getState ( element , State . ACTIVEDESCENDANT ) ;
226
+ var id = getState ( element , State . ACTIVEDESCENDANT ) ;
222
227
return dom . getOwnerDocument ( element ) . getElementById ( id ) ;
223
228
}
224
229
@@ -273,8 +278,7 @@ export function assertRoleIsSetInternalUtil(element, allowedRoles) {
273
278
return ;
274
279
}
275
280
var elementRole = /** @type {string }*/ ( getRole ( element ) ) ;
276
- asserts . assert (
277
- elementRole != null , 'The element ARIA role cannot be null.' ) ;
281
+ asserts . assert ( elementRole != null , 'The element ARIA role cannot be null.' ) ;
278
282
279
283
asserts . assert (
280
284
array . contains ( allowedRoles , elementRole ) ,
@@ -294,8 +298,8 @@ export function assertRoleIsSetInternalUtil(element, allowedRoles) {
294
298
*/
295
299
export function getStateBoolean ( element , stateName ) {
296
300
var attr =
297
- /** @type {string|boolean|null } */ ( element . getAttribute (
298
- getAriaAttributeName_ ( stateName ) ) ) ;
301
+ /** @type {string|boolean|null } */ (
302
+ element . getAttribute ( getAriaAttributeName_ ( stateName ) ) ) ;
299
303
asserts . assert (
300
304
typeof attr === 'boolean' || attr == null || attr == 'true' ||
301
305
attr == 'false' ) ;
@@ -315,8 +319,8 @@ export function getStateBoolean(element, stateName) {
315
319
*/
316
320
export function getStateNumber ( element , stateName ) {
317
321
var attr =
318
- /** @type {string|number } */ ( element . getAttribute (
319
- getAriaAttributeName_ ( stateName ) ) ) ;
322
+ /** @type {string|number } */ (
323
+ element . getAttribute ( getAriaAttributeName_ ( stateName ) ) ) ;
320
324
asserts . assert (
321
325
( attr == null || ! isNaN ( Number ( attr ) ) ) && typeof attr !== 'boolean' ) ;
322
326
return attr == null ? null : Number ( attr ) ;
@@ -331,8 +335,7 @@ export function getStateNumber(element, stateName) {
331
335
* the state value is empty string or not set.
332
336
*/
333
337
export function getStateString ( element , stateName ) {
334
- var attr =
335
- element . getAttribute ( getAriaAttributeName_ ( stateName ) ) ;
338
+ var attr = element . getAttribute ( getAriaAttributeName_ ( stateName ) ) ;
336
339
asserts . assert (
337
340
( attr == null || typeof attr === 'string' ) &&
338
341
( attr == '' || isNaN ( Number ( attr ) ) ) && attr != 'true' && attr != 'false' ) ;
@@ -350,8 +353,7 @@ export function getStateString(element, stateName) {
350
353
* value of the state attribute.
351
354
*/
352
355
export function getStringArrayStateInternalUtil ( element , stateName ) {
353
- var attrValue =
354
- element . getAttribute ( getAriaAttributeName_ ( stateName ) ) ;
356
+ var attrValue = element . getAttribute ( getAriaAttributeName_ ( stateName ) ) ;
355
357
return splitStringOnWhitespace_ ( attrValue ) ;
356
358
}
357
359
0 commit comments