@ownclouders/design-system
Version:
ownCloud Design System is based on VueDesign Systems and is used to design ownCloud UI components
57 lines (56 loc) • 2.81 kB
TypeScript
/**
* Remote actions can take an undefined portion of time. The spinner gives feedback to the users about an actions being processed.
*
* ## Accessibility
* ### Making spinners accessible for screen readers
*
* 1. Making them (only!) programmatically focusable with `tabindex="-1"`. **This is already included in the component.**
* 2. Giving them the [ARIA role](https://developers.google.com/web/fundamentals/accessibility/semantics-aria) of "img" (image) to change the semantics of the spinner element from something meaningless (div) to something meaningful (image). **This is already included in the component.**
* 3. Giving them an accessible name ([explainer for the term](https://developer.paciellogroup.com/blog/2017/04/what-is-an-accessible-name/)) via aria-label/the ariaLabel prop. An element that has an accessible name, but no role is ignored by assistive technology
* 4. During an action of the application that shows the spinner to visual users, the spinner should programmatically receive focus (see 1.), so that the accessible name of it (default: Loading, see 2.) is read out by screen reader software. After completion of the loading process the focus should be sent to a reasonable place of the newly loaded content.
*
*
*/
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
/**
* Descriptive text to be read to screen-readers, strongly recommended unless the component is used inside a DOM node that is already `aria-hidden="true"`.
*/
ariaLabel: {
type: StringConstructor;
required: false;
default: string;
};
/**
* The size of the spinner. Defaults to medium.
* `xsmall, small, medium, large, xlarge, xxlarge` and `xxxlarge`
*/
size: {
type: StringConstructor;
default: string;
validator: (value: string) => boolean;
};
}>, {}, {}, {
$_ocSpinner_class(): string[];
}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
/**
* Descriptive text to be read to screen-readers, strongly recommended unless the component is used inside a DOM node that is already `aria-hidden="true"`.
*/
ariaLabel: {
type: StringConstructor;
required: false;
default: string;
};
/**
* The size of the spinner. Defaults to medium.
* `xsmall, small, medium, large, xlarge, xxlarge` and `xxxlarge`
*/
size: {
type: StringConstructor;
default: string;
validator: (value: string) => boolean;
};
}>> & Readonly<{}>, {
size: string;
ariaLabel: string;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export default _default;