60 lines
1.6 KiB
JavaScript
60 lines
1.6 KiB
JavaScript
|
import {booleanish, number, spaceSeparated} from './util/types.js'
|
||
|
import {create} from './util/create.js'
|
||
|
|
||
|
export const aria = create({
|
||
|
transform(_, prop) {
|
||
|
return prop === 'role' ? prop : 'aria-' + prop.slice(4).toLowerCase()
|
||
|
},
|
||
|
properties: {
|
||
|
ariaActiveDescendant: null,
|
||
|
ariaAtomic: booleanish,
|
||
|
ariaAutoComplete: null,
|
||
|
ariaBusy: booleanish,
|
||
|
ariaChecked: booleanish,
|
||
|
ariaColCount: number,
|
||
|
ariaColIndex: number,
|
||
|
ariaColSpan: number,
|
||
|
ariaControls: spaceSeparated,
|
||
|
ariaCurrent: null,
|
||
|
ariaDescribedBy: spaceSeparated,
|
||
|
ariaDetails: null,
|
||
|
ariaDisabled: booleanish,
|
||
|
ariaDropEffect: spaceSeparated,
|
||
|
ariaErrorMessage: null,
|
||
|
ariaExpanded: booleanish,
|
||
|
ariaFlowTo: spaceSeparated,
|
||
|
ariaGrabbed: booleanish,
|
||
|
ariaHasPopup: null,
|
||
|
ariaHidden: booleanish,
|
||
|
ariaInvalid: null,
|
||
|
ariaKeyShortcuts: null,
|
||
|
ariaLabel: null,
|
||
|
ariaLabelledBy: spaceSeparated,
|
||
|
ariaLevel: number,
|
||
|
ariaLive: null,
|
||
|
ariaModal: booleanish,
|
||
|
ariaMultiLine: booleanish,
|
||
|
ariaMultiSelectable: booleanish,
|
||
|
ariaOrientation: null,
|
||
|
ariaOwns: spaceSeparated,
|
||
|
ariaPlaceholder: null,
|
||
|
ariaPosInSet: number,
|
||
|
ariaPressed: booleanish,
|
||
|
ariaReadOnly: booleanish,
|
||
|
ariaRelevant: null,
|
||
|
ariaRequired: booleanish,
|
||
|
ariaRoleDescription: spaceSeparated,
|
||
|
ariaRowCount: number,
|
||
|
ariaRowIndex: number,
|
||
|
ariaRowSpan: number,
|
||
|
ariaSelected: booleanish,
|
||
|
ariaSetSize: number,
|
||
|
ariaSort: null,
|
||
|
ariaValueMax: number,
|
||
|
ariaValueMin: number,
|
||
|
ariaValueNow: number,
|
||
|
ariaValueText: null,
|
||
|
role: null
|
||
|
}
|
||
|
})
|