@oslokommune/punkt-elements
Version:
Komponentbiblioteket til Punkt, et designsystem laget av Oslo Origo
66 lines (65 loc) • 2.46 kB
TypeScript
/**
* aria.ts
*
* Type definitions for ARIA attributes and roles.
* These follow the WAI-ARIA specification and are used across all Punkt components.
*/
export type TAriaBoolean = boolean | 'true' | 'false';
export type TAriaBooleanMixed = TAriaBoolean | 'mixed';
export type TAriaCurrent = TAriaBoolean | 'page' | 'step' | 'location' | 'date' | 'time';
export type TAriaHasPopup = TAriaBoolean | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog';
export type TAriaInvalid = TAriaBoolean | 'grammar' | 'spelling';
export type TAriaLive = 'off' | 'polite' | 'assertive';
export type TAriaRelevant = 'additions' | 'removals' | 'text' | 'all';
export type TAriaSort = 'none' | 'ascending' | 'descending' | 'other';
export type TAriaAutoComplete = 'none' | 'inline' | 'list' | 'both';
export type TAriaOrientation = 'horizontal' | 'vertical';
export interface IAriaAttributes {
'aria-activedescendant'?: string;
'aria-controls'?: string;
'aria-describedby'?: string;
'aria-details'?: string;
'aria-errormessage'?: string;
'aria-flowto'?: string;
'aria-label'?: string;
'aria-labelledby'?: string;
'aria-owns'?: string;
'aria-roledescription'?: string;
'aria-autocomplete'?: TAriaAutoComplete;
'aria-checked'?: TAriaBooleanMixed;
'aria-current'?: TAriaCurrent;
'aria-disabled'?: TAriaBoolean;
'aria-expanded'?: TAriaBoolean;
'aria-haspopup'?: TAriaHasPopup;
'aria-hidden'?: TAriaBoolean;
'aria-invalid'?: TAriaInvalid;
'aria-keyshortcuts'?: string;
'aria-level'?: number;
'aria-modal'?: TAriaBoolean;
'aria-multiline'?: TAriaBoolean;
'aria-multiselectable'?: TAriaBoolean;
'aria-orientation'?: TAriaOrientation;
'aria-placeholder'?: string;
'aria-pressed'?: TAriaBooleanMixed;
'aria-readonly'?: TAriaBoolean;
'aria-required'?: TAriaBoolean;
'aria-selected'?: TAriaBoolean;
'aria-sort'?: TAriaSort;
'aria-atomic'?: TAriaBoolean;
'aria-busy'?: TAriaBoolean;
'aria-live'?: TAriaLive;
'aria-relevant'?: TAriaRelevant | string;
'aria-colcount'?: number;
'aria-colindex'?: number;
'aria-colspan'?: number;
'aria-rowcount'?: number;
'aria-rowindex'?: number;
'aria-rowspan'?: number;
'aria-posinset'?: number;
'aria-setsize'?: number;
'aria-valuemax'?: number;
'aria-valuemin'?: number;
'aria-valuenow'?: number;
'aria-valuetext'?: string;
}
export type TAlertRole = 'alert' | 'status';