1 | 'use strict'
|
---|
2 |
|
---|
3 | var types = require('./util/types')
|
---|
4 | var create = require('./util/create')
|
---|
5 |
|
---|
6 | var booleanish = types.booleanish
|
---|
7 | var number = types.number
|
---|
8 | var spaceSeparated = types.spaceSeparated
|
---|
9 |
|
---|
10 | module.exports = create({
|
---|
11 | transform: ariaTransform,
|
---|
12 | properties: {
|
---|
13 | ariaActiveDescendant: null,
|
---|
14 | ariaAtomic: booleanish,
|
---|
15 | ariaAutoComplete: null,
|
---|
16 | ariaBusy: booleanish,
|
---|
17 | ariaChecked: booleanish,
|
---|
18 | ariaColCount: number,
|
---|
19 | ariaColIndex: number,
|
---|
20 | ariaColSpan: number,
|
---|
21 | ariaControls: spaceSeparated,
|
---|
22 | ariaCurrent: null,
|
---|
23 | ariaDescribedBy: spaceSeparated,
|
---|
24 | ariaDetails: null,
|
---|
25 | ariaDisabled: booleanish,
|
---|
26 | ariaDropEffect: spaceSeparated,
|
---|
27 | ariaErrorMessage: null,
|
---|
28 | ariaExpanded: booleanish,
|
---|
29 | ariaFlowTo: spaceSeparated,
|
---|
30 | ariaGrabbed: booleanish,
|
---|
31 | ariaHasPopup: null,
|
---|
32 | ariaHidden: booleanish,
|
---|
33 | ariaInvalid: null,
|
---|
34 | ariaKeyShortcuts: null,
|
---|
35 | ariaLabel: null,
|
---|
36 | ariaLabelledBy: spaceSeparated,
|
---|
37 | ariaLevel: number,
|
---|
38 | ariaLive: null,
|
---|
39 | ariaModal: booleanish,
|
---|
40 | ariaMultiLine: booleanish,
|
---|
41 | ariaMultiSelectable: booleanish,
|
---|
42 | ariaOrientation: null,
|
---|
43 | ariaOwns: spaceSeparated,
|
---|
44 | ariaPlaceholder: null,
|
---|
45 | ariaPosInSet: number,
|
---|
46 | ariaPressed: booleanish,
|
---|
47 | ariaReadOnly: booleanish,
|
---|
48 | ariaRelevant: null,
|
---|
49 | ariaRequired: booleanish,
|
---|
50 | ariaRoleDescription: spaceSeparated,
|
---|
51 | ariaRowCount: number,
|
---|
52 | ariaRowIndex: number,
|
---|
53 | ariaRowSpan: number,
|
---|
54 | ariaSelected: booleanish,
|
---|
55 | ariaSetSize: number,
|
---|
56 | ariaSort: null,
|
---|
57 | ariaValueMax: number,
|
---|
58 | ariaValueMin: number,
|
---|
59 | ariaValueNow: number,
|
---|
60 | ariaValueText: null,
|
---|
61 | role: null
|
---|
62 | }
|
---|
63 | })
|
---|
64 |
|
---|
65 | function ariaTransform(_, prop) {
|
---|
66 | return prop === 'role' ? prop : 'aria-' + prop.slice(4).toLowerCase()
|
---|
67 | }
|
---|