diff --git a/README.md b/README.md index e5119223..44cb16ea 100644 --- a/README.md +++ b/README.md @@ -235,47 +235,47 @@ To restrict polymorphic linting to specified components, additionally set `polym πŸ”’ Set in the `strict` configuration.\ ❌ Deprecated. -| NameΒ Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β  | Description | πŸ’Ό | 🚫 | ❌ | -| :----------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------- | :---- | :---- | :- | -| [accessible-emoji](docs/rules/accessible-emoji.md) | Enforce emojis are wrapped in `` and provide screenreader access. | | | ❌ | -| [alt-text](docs/rules/alt-text.md) | Enforce all elements that require alternative text have meaningful information to relay back to end user. | β˜‘οΈ πŸ”’ | | | -| [anchor-ambiguous-text](docs/rules/anchor-ambiguous-text.md) | Enforce `` text to not exactly match "click here", "here", "link", or "a link". | | β˜‘οΈ | | -| [anchor-has-content](docs/rules/anchor-has-content.md) | Enforce all anchors to contain accessible content. | β˜‘οΈ πŸ”’ | | | -| [anchor-is-valid](docs/rules/anchor-is-valid.md) | Enforce all anchors are valid, navigable elements. | β˜‘οΈ πŸ”’ | | | -| [aria-activedescendant-has-tabindex](docs/rules/aria-activedescendant-has-tabindex.md) | Enforce elements with aria-activedescendant are tabbable. | β˜‘οΈ πŸ”’ | | | -| [aria-props](docs/rules/aria-props.md) | Enforce all `aria-*` props are valid. | β˜‘οΈ πŸ”’ | | | -| [aria-proptypes](docs/rules/aria-proptypes.md) | Enforce ARIA state and property values are valid. | β˜‘οΈ πŸ”’ | | | -| [aria-role](docs/rules/aria-role.md) | Enforce that elements with ARIA roles must use a valid, non-abstract ARIA role. | β˜‘οΈ πŸ”’ | | | -| [aria-unsupported-elements](docs/rules/aria-unsupported-elements.md) | Enforce that elements that do not support ARIA roles, states, and properties do not have those attributes. | β˜‘οΈ πŸ”’ | | | -| [autocomplete-valid](docs/rules/autocomplete-valid.md) | Enforce that autocomplete attributes are used correctly. | β˜‘οΈ πŸ”’ | | | -| [click-events-have-key-events](docs/rules/click-events-have-key-events.md) | Enforce a clickable non-interactive element has at least one keyboard event listener. | β˜‘οΈ πŸ”’ | | | -| [control-has-associated-label](docs/rules/control-has-associated-label.md) | Enforce that a control (an interactive element) has a text label. | | β˜‘οΈ πŸ”’ | | -| [heading-has-content](docs/rules/heading-has-content.md) | Enforce heading (`h1`, `h2`, etc) elements contain accessible content. | β˜‘οΈ πŸ”’ | | | -| [html-has-lang](docs/rules/html-has-lang.md) | Enforce `` element has `lang` prop. | β˜‘οΈ πŸ”’ | | | -| [iframe-has-title](docs/rules/iframe-has-title.md) | Enforce iframe elements have a title attribute. | β˜‘οΈ πŸ”’ | | | -| [img-redundant-alt](docs/rules/img-redundant-alt.md) | Enforce `` alt prop does not contain the word "image", "picture", or "photo". | β˜‘οΈ πŸ”’ | | | -| [interactive-supports-focus](docs/rules/interactive-supports-focus.md) | Enforce that elements with interactive handlers like `onClick` must be focusable. | β˜‘οΈ πŸ”’ | | | -| [label-has-associated-control](docs/rules/label-has-associated-control.md) | Enforce that a `label` tag has a text label and an associated control. | β˜‘οΈ πŸ”’ | | | -| [label-has-for](docs/rules/label-has-for.md) | Enforce that `
`) that have click handlers use the role attribute. | β˜‘οΈ πŸ”’ | | | -| [prefer-tag-over-role](docs/rules/prefer-tag-over-role.md) | Enforces using semantic DOM elements over the ARIA `role` property. | | | | -| [role-has-required-aria-props](docs/rules/role-has-required-aria-props.md) | Enforce that elements with ARIA roles must have all required attributes for that role. | β˜‘οΈ πŸ”’ | | | -| [role-supports-aria-props](docs/rules/role-supports-aria-props.md) | Enforce that elements with explicit or implicit roles defined contain only `aria-*` properties supported by that `role`. | β˜‘οΈ πŸ”’ | | | -| [scope](docs/rules/scope.md) | Enforce `scope` prop is only used on `` elements. | β˜‘οΈ πŸ”’ | | | -| [tabindex-no-positive](docs/rules/tabindex-no-positive.md) | Enforce `tabIndex` value is not greater than zero. | β˜‘οΈ πŸ”’ | | | +| NameΒ Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β  | Description | πŸ’Ό | 🚫 | ❌ | +| :----------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------- | :---- | :---- | :- | +| [accessible-emoji](docs/rules/accessible-emoji.md) | Enforce emojis are wrapped in `` and provide screen reader access. | | | ❌ | +| [alt-text](docs/rules/alt-text.md) | Enforce all elements that require alternative text have meaningful information to relay back to end user. | β˜‘οΈ πŸ”’ | | | +| [anchor-ambiguous-text](docs/rules/anchor-ambiguous-text.md) | Enforce `` text to not exactly match "click here", "here", "link", or "a link". | | β˜‘οΈ | | +| [anchor-has-content](docs/rules/anchor-has-content.md) | Enforce all anchors to contain accessible content. | β˜‘οΈ πŸ”’ | | | +| [anchor-is-valid](docs/rules/anchor-is-valid.md) | Enforce all anchors are valid, navigable elements. | β˜‘οΈ πŸ”’ | | | +| [aria-activedescendant-has-tabindex](docs/rules/aria-activedescendant-has-tabindex.md) | Enforce elements with aria-activedescendant are tabbable. | β˜‘οΈ πŸ”’ | | | +| [aria-props](docs/rules/aria-props.md) | Enforce all `aria-*` props are valid. | β˜‘οΈ πŸ”’ | | | +| [aria-proptypes](docs/rules/aria-proptypes.md) | Enforce ARIA state and property values are valid. | β˜‘οΈ πŸ”’ | | | +| [aria-role](docs/rules/aria-role.md) | Enforce that elements with ARIA roles must use a valid, non-abstract ARIA role. | β˜‘οΈ πŸ”’ | | | +| [aria-unsupported-elements](docs/rules/aria-unsupported-elements.md) | Enforce that elements that do not support ARIA roles, states, and properties do not have those attributes. | β˜‘οΈ πŸ”’ | | | +| [autocomplete-valid](docs/rules/autocomplete-valid.md) | Enforce that autocomplete attributes are used correctly. | β˜‘οΈ πŸ”’ | | | +| [click-events-have-key-events](docs/rules/click-events-have-key-events.md) | Enforce a clickable non-interactive element has at least one keyboard event listener. | β˜‘οΈ πŸ”’ | | | +| [control-has-associated-label](docs/rules/control-has-associated-label.md) | Enforce that a control (an interactive element) has a text label. | | β˜‘οΈ πŸ”’ | | +| [heading-has-content](docs/rules/heading-has-content.md) | Enforce heading (`h1`, `h2`, etc) elements contain accessible content. | β˜‘οΈ πŸ”’ | | | +| [html-has-lang](docs/rules/html-has-lang.md) | Enforce `` element has `lang` prop. | β˜‘οΈ πŸ”’ | | | +| [iframe-has-title](docs/rules/iframe-has-title.md) | Enforce iframe elements have a title attribute. | β˜‘οΈ πŸ”’ | | | +| [img-redundant-alt](docs/rules/img-redundant-alt.md) | Enforce `` alt prop does not contain the word "image", "picture", or "photo". | β˜‘οΈ πŸ”’ | | | +| [interactive-supports-focus](docs/rules/interactive-supports-focus.md) | Enforce that elements with interactive handlers like `onClick` must be focusable. | β˜‘οΈ πŸ”’ | | | +| [label-has-associated-control](docs/rules/label-has-associated-control.md) | Enforce that a `label` tag has a text label and an associated control. | β˜‘οΈ πŸ”’ | | | +| [label-has-for](docs/rules/label-has-for.md) | Enforce that `
`) that have click handlers use the role attribute. | β˜‘οΈ πŸ”’ | | | +| [prefer-tag-over-role](docs/rules/prefer-tag-over-role.md) | Enforces using semantic DOM elements over the ARIA `role` property. | | | | +| [role-has-required-aria-props](docs/rules/role-has-required-aria-props.md) | Enforce that elements with ARIA roles must have all required attributes for that role. | β˜‘οΈ πŸ”’ | | | +| [role-supports-aria-props](docs/rules/role-supports-aria-props.md) | Enforce that elements with explicit or implicit roles defined contain only `aria-*` properties supported by that `role`. | β˜‘οΈ πŸ”’ | | | +| [scope](docs/rules/scope.md) | Enforce `scope` prop is only used on `` elements. | β˜‘οΈ πŸ”’ | | | +| [tabindex-no-positive](docs/rules/tabindex-no-positive.md) | Enforce `tabIndex` value is not greater than zero. | β˜‘οΈ πŸ”’ | | | diff --git a/__tests__/src/rules/anchor-ambiguous-text-test.js b/__tests__/src/rules/anchor-ambiguous-text-test.js index 12769d9a..da714ebb 100644 --- a/__tests__/src/rules/anchor-ambiguous-text-test.js +++ b/__tests__/src/rules/anchor-ambiguous-text-test.js @@ -27,7 +27,7 @@ const DEFAULT_AMBIGUOUS_WORDS = [ ]; const expectedErrorGenerator = (words) => ({ - message: `Ambiguous text within anchor. Screenreader users rely on link text for context; the words "${words.join('", "')}" are ambiguous and do not provide enough context.`, + message: `Ambiguous text within anchor. Screen reader users rely on link text for context; the words "${words.join('", "')}" are ambiguous and do not provide enough context.`, type: 'JSXOpeningElement', }); diff --git a/__tests__/src/rules/no-access-key-test.js b/__tests__/src/rules/no-access-key-test.js index fc994385..0485e2b0 100644 --- a/__tests__/src/rules/no-access-key-test.js +++ b/__tests__/src/rules/no-access-key-test.js @@ -19,7 +19,7 @@ import rule from '../../../src/rules/no-access-key'; const ruleTester = new RuleTester(); const expectedError = { - message: 'No access key attribute allowed. Inconsistencies between keyboard shortcuts and keyboard commands used by screenreaders and keyboard-only users create a11y complications.', + message: 'No access key attribute allowed. Inconsistencies between keyboard shortcuts and keyboard commands used by screen readers and keyboard-only users create a11y complications.', type: 'JSXOpeningElement', }; diff --git a/docs/rules/accessible-emoji.md b/docs/rules/accessible-emoji.md index 73db0fe5..b6927577 100644 --- a/docs/rules/accessible-emoji.md +++ b/docs/rules/accessible-emoji.md @@ -4,7 +4,7 @@ -Emoji have become a common way of communicating content to the end user. To a person using a screenreader, however, they may not be aware that this content is there at all. By wrapping the emoji in a ``, giving it the `role="img"`, and providing a useful description in `aria-label`, the screenreader will treat the emoji as an image in the accessibility tree with an accessible name for the end user. +Emoji have become a common way of communicating content to the end user. To a person using a screen reader, however, they may not be aware that this content is there at all. By wrapping the emoji in a ``, giving it the `role="img"`, and providing a useful description in `aria-label`, the screen reader will treat the emoji as an image in the accessibility tree with an accessible name for the end user. ## Rule details diff --git a/docs/rules/anchor-ambiguous-text.md b/docs/rules/anchor-ambiguous-text.md index bc3ce89d..2e4912c2 100644 --- a/docs/rules/anchor-ambiguous-text.md +++ b/docs/rules/anchor-ambiguous-text.md @@ -4,7 +4,7 @@ -Enforces `` values are not exact matches for the phrases "click here", "here", "link", "a link", or "learn more". Screenreaders announce tags as links/interactive, but rely on values for context. Ambiguous anchor descriptions do not provide sufficient context for users. +Enforces `` values are not exact matches for the phrases "click here", "here", "link", "a link", or "learn more". Screen readers announce tags as links/interactive, but rely on values for context. Ambiguous anchor descriptions do not provide sufficient context for users. ## Rule options diff --git a/docs/rules/click-events-have-key-events.md b/docs/rules/click-events-have-key-events.md index 613a099d..d1bc1367 100644 --- a/docs/rules/click-events-have-key-events.md +++ b/docs/rules/click-events-have-key-events.md @@ -4,7 +4,7 @@ -Enforce `onClick` is accompanied by at least one of the following: `onKeyUp`, `onKeyDown`, `onKeyPress`. Coding for the keyboard is important for users with physical disabilities who cannot use a mouse, AT compatibility, and screenreader users. This does not apply for interactive or hidden elements. +Enforce `onClick` is accompanied by at least one of the following: `onKeyUp`, `onKeyDown`, `onKeyPress`. Coding for the keyboard is important for users with physical disabilities who cannot use a mouse, AT compatibility, and screen reader users. This does not apply for interactive or hidden elements. ## Rule details diff --git a/docs/rules/img-redundant-alt.md b/docs/rules/img-redundant-alt.md index 1b8ebcba..6193570b 100644 --- a/docs/rules/img-redundant-alt.md +++ b/docs/rules/img-redundant-alt.md @@ -4,7 +4,7 @@ -Enforce img alt attribute does not contain the word image, picture, or photo. Screenreaders already announce `img` elements as an image. There is no need to use words such as *image*, *photo*, and/or *picture*. +Enforce img alt attribute does not contain the word image, picture, or photo. Screen readers already announce `img` elements as an image. There is no need to use words such as *image*, *photo*, and/or *picture*. ## Rule options diff --git a/docs/rules/mouse-events-have-key-events.md b/docs/rules/mouse-events-have-key-events.md index a8e6ce49..56dd9701 100644 --- a/docs/rules/mouse-events-have-key-events.md +++ b/docs/rules/mouse-events-have-key-events.md @@ -4,7 +4,7 @@ -Enforce onmouseover/onmouseout are accompanied by onfocus/onblur. Coding for the keyboard is important for users with physical disabilities who cannot use a mouse, AT compatibility, and screenreader users. +Enforce onmouseover/onmouseout are accompanied by onfocus/onblur. Coding for the keyboard is important for users with physical disabilities who cannot use a mouse, AT compatibility, and screen reader users. ## Rule options diff --git a/docs/rules/no-access-key.md b/docs/rules/no-access-key.md index 962f7135..0b0da662 100644 --- a/docs/rules/no-access-key.md +++ b/docs/rules/no-access-key.md @@ -4,7 +4,7 @@ -Enforce no accessKey prop on element. Access keys are HTML attributes that allow web developers to assign keyboard shortcuts to elements. Inconsistencies between keyboard shortcuts and keyboard commands used by screenreaders and keyboard-only users create accessibility complications so to avoid complications, access keys should not be used. +Enforce no accessKey prop on element. Access keys are HTML attributes that allow web developers to assign keyboard shortcuts to elements. Inconsistencies between keyboard shortcuts and keyboard commands used by screen readers and keyboard-only users create accessibility complications so to avoid complications, access keys should not be used. ### References 1. [WebAIM](https://webaim.org/techniques/keyboard/accesskey#spec) diff --git a/docs/rules/no-noninteractive-element-interactions.md b/docs/rules/no-noninteractive-element-interactions.md index c14f298f..d3f366f8 100644 --- a/docs/rules/no-noninteractive-element-interactions.md +++ b/docs/rules/no-noninteractive-element-interactions.md @@ -122,7 +122,7 @@ Adjust the list of handler prop names in the handlers array to increase or decre
void 0} role="presentation" /> void 0} /> // Interactive element does not require role.