jsx-a11y

jsx-a11y/accessible-emoji docs

Enforce emojis are wrapped in <span> and provide screenreader access.

Not configured in any preset

jsx-a11y/alt-text docs

Enforce all elements that require alternative text have meaningful information to relay back to end user.

Configured in

jsx-a11y/anchor-ambiguous-text docs

Enforce <a> text to not exactly match "click here", "here", "link", or "a link".

Configured in

jsx-a11y/anchor-has-content docs

Enforce all anchors to contain accessible content.

Configured in

jsx-a11y/anchor-is-valid docs

Enforce all anchors are valid, navigable elements.

Configured in

jsx-a11y/aria-activedescendant-has-tabindex docs

Enforce elements with aria-activedescendant are tabbable.

Configured in

jsx-a11y/aria-props docs

Enforce all aria-* props are valid.

Configured in

jsx-a11y/aria-proptypes docs

Enforce ARIA state and property values are valid.

Configured in

jsx-a11y/aria-role docs

Enforce that elements with ARIA roles must use a valid, non-abstract ARIA role.

Configured in

jsx-a11y/aria-unsupported-elements docs

Enforce that elements that do not support ARIA roles, states, and properties do not have those attributes.

Configured in

jsx-a11y/autocomplete-valid docs

Enforce that autocomplete attributes are used correctly.

Configured in

jsx-a11y/click-events-have-key-events docs

Enforce a clickable non-interactive element has at least one keyboard event listener.

Configured in

jsx-a11y/control-has-associated-label docs

Enforce that a control (an interactive element) has a text label.

Configured in

jsx-a11y/heading-has-content docs

Enforce heading (h1, h2, etc) elements contain accessible content.

Configured in

jsx-a11y/html-has-lang docs

Enforce <html> element has lang prop.

Configured in

jsx-a11y/iframe-has-title docs

Enforce iframe elements have a title attribute.

Configured in

jsx-a11y/img-redundant-alt docs

Enforce <img> alt prop does not contain the word "image", "picture", or "photo".

Configured in

jsx-a11y/interactive-supports-focus docs

Enforce that elements with interactive handlers like onClick must be focusable.

Configured in

jsx-a11y/label-has-associated-control docs

Enforce that a label tag has a text label and an associated control.

Configured in

jsx-a11y/label-has-for docs

Enforce that <label> elements have the htmlFor prop.

Configured in

jsx-a11y/lang docs

Enforce lang attribute has a valid value.

Not configured in any preset

jsx-a11y/media-has-caption docs

Enforces that <audio> and <video> elements must have a <track> for captions.

Configured in

jsx-a11y/mouse-events-have-key-events docs

Enforce that onMouseOver/onMouseOut are accompanied by onFocus/onBlur for keyboard-only users.

Configured in

jsx-a11y/no-access-key docs

Enforce that the accessKey prop is not used on any element to avoid complications with keyboard commands used by a screenreader.

Configured in

jsx-a11y/no-aria-hidden-on-focusable docs

Disallow aria-hidden="true" from being set on focusable elements.

Configured in

jsx-a11y/no-autofocus docs

Enforce autoFocus prop is not used.

Configured in

jsx-a11y/no-distracting-elements docs

Enforce distracting elements are not used.

Configured in

jsx-a11y/no-interactive-element-to-noninteractive-role docs

Interactive elements should not be assigned non-interactive roles.

Configured in

jsx-a11y/no-noninteractive-element-interactions docs

Non-interactive elements should not be assigned mouse or keyboard event listeners.

Configured in

jsx-a11y/no-noninteractive-element-to-interactive-role docs

Non-interactive elements should not be assigned interactive roles.

Configured in

jsx-a11y/no-noninteractive-tabindex docs

tabIndex should only be declared on interactive elements.

Configured in

jsx-a11y/no-onchange docs

Enforce usage of onBlur over onChange on select menus for accessibility.

Not configured in any preset

jsx-a11y/no-redundant-roles docs

Enforce explicit role property is not the same as implicit/default role property on element.

Configured in

jsx-a11y/no-static-element-interactions docs

Enforce that non-interactive, visible elements (such as <div>) that have click handlers use the role attribute.

Configured in

jsx-a11y/prefer-tag-over-role docs

Enforces using semantic DOM elements over the ARIA role property.

Not configured in any preset

jsx-a11y/role-has-required-aria-props docs

Enforce that elements with ARIA roles must have all required attributes for that role.

Configured in

jsx-a11y/role-supports-aria-props docs

Enforce that elements with explicit or implicit roles defined contain only aria-* properties supported by that role.

Configured in

jsx-a11y/scope docs

Enforce scope prop is only used on <th> elements.

Configured in

jsx-a11y/tabindex-no-positive docs

Enforce tabIndex value is not greater than zero.

Configured in