/** * Accessibility attributes. * * @example * ```tsx * import type { A11y } from '@wix/editor-react-types'; * * interface MyComponentProps { * a11y?: A11y; * } * * const MyComponent = ({ a11y }: MyComponentProps) => ( *
* ); * ``` */ export interface A11y { /** The `tabindex` attribute. Controls the component's position in keyboard focus order. */ tabIndex?: number /** The `aria-level` attribute. Defines the hierarchical level of a component within a structure. */ ariaLevel?: number /** The `aria-expanded` attribute. Indicates whether a collapsible component is expanded or collapsed. */ ariaExpanded?: boolean | 'false' | 'true' /** The `aria-disabled` attribute. Indicates that the component is perceivable but disabled. */ ariaDisabled?: boolean | 'false' | 'true' /** The `aria-atomic` attribute. Indicates whether assistive technologies should present the entire region as a whole. */ ariaAtomic?: boolean | 'false' | 'true' /** The `aria-hidden` attribute. Hides the component from assistive technologies. */ ariaHidden?: boolean | 'false' | 'true' /** The `aria-busy` attribute. Indicates the component is being modified and assistive technologies should wait. */ ariaBusy?: boolean | 'false' | 'true' /** Whether the component supports multiline input. */ multiline?: boolean /** The `aria-autocomplete` attribute. Indicates the type of autocomplete behavior for an input. */ ariaAutocomplete?: 'none' | 'inline' | 'list' | 'both' /** The `aria-pressed` attribute. Indicates the current "pressed" state of a toggle button. */ ariaPressed?: boolean | 'false' | 'mixed' | 'true' /** The `aria-haspopup` attribute. Indicates the availability and type of an interactive popup component. */ ariaHaspopup?: boolean | 'false' | 'true' | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog' /** The `aria-relevant` attribute. Indicates what notifications the user agent will trigger when the accessibility tree is modified. */ ariaRelevant?: 'additions' | 'additions text' | 'all' | 'removals' | 'text' /** The `role` attribute. Defines the semantic role of the component. */ role?: string /** The `aria-live` attribute. Indicates that the component will be updated and describes the types of updates. */ ariaLive?: 'off' | 'assertive' | 'polite' /** The `aria-current` attribute. Indicates the component that represents the current item within a container or set. */ ariaCurrent?: boolean | 'false' | 'true' | 'page' | 'step' | 'location' | 'date' | 'time' /** The `aria-label` attribute. Defines a string value that labels the component. */ ariaLabel?: string /** The `aria-roledescription` attribute. Defines a human-readable description for the role of the component. */ ariaRoledescription?: string /** The `aria-describedby` attribute. Identifies the element that describes this component. */ ariaDescribedby?: string /** The `aria-labelledby` attribute. Identifies the element that labels this component. */ ariaLabelledby?: string /** The `aria-errormessage` attribute. Identifies the element that provides an error message for this component. */ ariaErrormessage?: string /** The `aria-owns` attribute. Identifies a component to define a visual, functional, or contextual parent/child relationship. */ ariaOwns?: string /** The `aria-controls` attribute. Identifies the element whose contents or presence are controlled by this component. */ ariaControls?: string /** The HTML tag to render the component as (e.g. `'h1'`, `'button'`). */ tag?: string /** The `aria-multiline` attribute. Indicates whether a text box accepts multiple lines of input. */ ariaMultiline?: boolean | 'false' | 'true' /** The `aria-invalid` attribute. Indicates the entered value does not conform to the expected format. */ ariaInvalid?: boolean | 'false' | 'true' | 'grammar' | 'spelling' /** The `lang` attribute. Declares the language of the component's content (e.g. `'en'`, `'fr-CA'`). Inherited by descendant elements. */ lang?: string }