You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|[alt-text](docs/rules/alt-text.md)| Enforce all elements that require alternative text have meaningful information to relay back to end user. | ☑️ 🔒 ||
125
-
|[anchor-ambiguous-text](docs/rules/anchor-ambiguous-text.md)| Enforce `<a>` text to not exactly match "click here", "here", "link", or "a link". |||
126
-
|[anchor-has-content](docs/rules/anchor-has-content.md)| Enforce all anchors to contain accessible content. | ☑️ 🔒 ||
127
-
|[anchor-is-valid](docs/rules/anchor-is-valid.md)| Enforce all anchors are valid, navigable elements. | ☑️ 🔒 ||
128
-
|[aria-activedescendant-has-tabindex](docs/rules/aria-activedescendant-has-tabindex.md)| Enforce elements with aria-activedescendant are tabbable. | ☑️ 🔒 ||
129
-
|[aria-props](docs/rules/aria-props.md)| Enforce all `aria-*` props are valid. | ☑️ 🔒 ||
130
-
|[aria-proptypes](docs/rules/aria-proptypes.md)| Enforce ARIA state and property values are valid. | ☑️ 🔒 ||
131
-
|[aria-role](docs/rules/aria-role.md)| Enforce that elements with ARIA roles must use a valid, non-abstract ARIA role. | ☑️ 🔒 ||
132
-
|[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. | ☑️ 🔒 ||
133
-
|[autocomplete-valid](docs/rules/autocomplete-valid.md)| Enforce that autocomplete attributes are used correctly. | ☑️ 🔒 ||
134
-
|[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. | ☑️ 🔒 ||
135
-
|[control-has-associated-label](docs/rules/control-has-associated-label.md)| Enforce that a control (an interactive element) has a text label. |||
|[html-has-lang](docs/rules/html-has-lang.md)| Enforce `<html>` element has `lang` prop. | ☑️ 🔒 ||
138
-
|[iframe-has-title](docs/rules/iframe-has-title.md)| Enforce iframe elements have a title attribute. | ☑️ 🔒 ||
139
-
|[img-redundant-alt](docs/rules/img-redundant-alt.md)| Enforce `<img>` alt prop does not contain the word "image", "picture", or "photo". | ☑️ 🔒 ||
140
-
|[interactive-supports-focus](docs/rules/interactive-supports-focus.md)| Enforce that elements with interactive handlers like `onClick` must be focusable. | ☑️ 🔒 ||
141
-
|[label-has-associated-control](docs/rules/label-has-associated-control.md)| Enforce that a `label` tag has a text label and an associated control. | ☑️ 🔒 ||
|[lang](docs/rules/lang.md)| Enforce lang attribute has a valid value. |||
144
-
|[media-has-caption](docs/rules/media-has-caption.md)| Enforces that `<audio>` and `<video>` elements must have a `<track>` for captions. | ☑️ 🔒 ||
145
-
|[mouse-events-have-key-events](docs/rules/mouse-events-have-key-events.md)| Enforce that `onMouseOver`/`onMouseOut` are accompanied by `onFocus`/`onBlur` for keyboard-only users. | ☑️ 🔒 ||
146
-
|[no-access-key](docs/rules/no-access-key.md)| Enforce that the `accessKey` prop is not used on any element to avoid complications with keyboard commands used by a screenreader. | ☑️ 🔒 ||
147
-
|[no-autofocus](docs/rules/no-autofocus.md)| Enforce autoFocus prop is not used. | ☑️ 🔒 ||
148
-
|[no-distracting-elements](docs/rules/no-distracting-elements.md)| Enforce distracting elements are not used. | ☑️ 🔒 ||
149
-
|[no-interactive-element-to-noninteractive-role](docs/rules/no-interactive-element-to-noninteractive-role.md)| Interactive elements should not be assigned non-interactive roles. | ☑️ 🔒 ||
150
-
|[no-noninteractive-element-interactions](docs/rules/no-noninteractive-element-interactions.md)| Non-interactive elements should not be assigned mouse or keyboard event listeners. | ☑️ 🔒 ||
151
-
|[no-noninteractive-element-to-interactive-role](docs/rules/no-noninteractive-element-to-interactive-role.md)| Non-interactive elements should not be assigned interactive roles. | ☑️ 🔒 ||
152
-
|[no-noninteractive-tabindex](docs/rules/no-noninteractive-tabindex.md)|`tabIndex` should only be declared on interactive elements. | ☑️ 🔒 ||
153
-
|[no-onchange](docs/rules/no-onchange.md)| Enforce usage of `onBlur` over `onChange` on select menus for accessibility. || ❌|
154
-
|[no-redundant-roles](docs/rules/no-redundant-roles.md)| Enforce explicit role property is not the same as implicit/default role property on element. | ☑️ 🔒 ||
155
-
|[no-static-element-interactions](docs/rules/no-static-element-interactions.md)| Enforce that non-interactive, visible elements (such as `<div>`) that have click handlers use the role attribute. | ☑️ 🔒 ||
|[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. | ☑️ 🔒 ||
158
-
|[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`. | ☑️ 🔒 ||
159
-
|[scope](docs/rules/scope.md)| Enforce `scope` prop is only used on `<th>` elements. | ☑️ 🔒 ||
160
-
|[tabindex-no-positive](docs/rules/tabindex-no-positive.md)| Enforce `tabIndex` value is not greater than zero. | ☑️ 🔒 ||
121
+
| Name | Description | 💼 | ❌ |
122
+
| :- | :- | :- | :- |
123
+
|[accessible-emoji](docs/rules/accessible-emoji.md)| Enforce emojis are wrapped in `<span>` and provide screenreader access. || ❌ |
124
+
|[alt-text](docs/rules/alt-text.md)| Enforce all elements that require alternative text have meaningful information to relay back to end user. | ☑️ 🔒 ||
125
+
|[anchor-ambiguous-text](docs/rules/anchor-ambiguous-text.md)| Enforce `<a>` text to not exactly match "click here", "here", "link", or "a link". |||
126
+
|[anchor-has-content](docs/rules/anchor-has-content.md)| Enforce all anchors to contain accessible content. | ☑️ 🔒 ||
127
+
|[anchor-is-valid](docs/rules/anchor-is-valid.md)| Enforce all anchors are valid, navigable elements. | ☑️ 🔒 ||
128
+
|[aria-activedescendant-has-tabindex](docs/rules/aria-activedescendant-has-tabindex.md)| Enforce elements with aria-activedescendant are tabbable. | ☑️ 🔒 ||
129
+
|[aria-props](docs/rules/aria-props.md)| Enforce all `aria-*` props are valid. | ☑️ 🔒 ||
130
+
|[aria-proptypes](docs/rules/aria-proptypes.md)| Enforce ARIA state and property values are valid. | ☑️ 🔒 ||
131
+
|[aria-role](docs/rules/aria-role.md)| Enforce that elements with ARIA roles must use a valid, non-abstract ARIA role. | ☑️ 🔒 ||
132
+
|[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. | ☑️ 🔒 ||
133
+
|[autocomplete-valid](docs/rules/autocomplete-valid.md)| Enforce that autocomplete attributes are used correctly. | ☑️ 🔒 ||
134
+
|[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. | ☑️ 🔒 ||
135
+
|[control-has-associated-label](docs/rules/control-has-associated-label.md)| Enforce that a control (an interactive element) has a text label. |||
|[html-has-lang](docs/rules/html-has-lang.md)| Enforce `<html>` element has `lang` prop. | ☑️ 🔒 ||
138
+
|[iframe-has-title](docs/rules/iframe-has-title.md)| Enforce iframe elements have a title attribute. | ☑️ 🔒 ||
139
+
|[img-redundant-alt](docs/rules/img-redundant-alt.md)| Enforce `<img>` alt prop does not contain the word "image", "picture", or "photo". | ☑️ 🔒 ||
140
+
|[interactive-supports-focus](docs/rules/interactive-supports-focus.md)| Enforce that elements with interactive handlers like `onClick` must be focusable. | ☑️ 🔒 ||
141
+
|[label-has-associated-control](docs/rules/label-has-associated-control.md)| Enforce that a `label` tag has a text label and an associated control. | ☑️ 🔒 ||
142
+
|[label-has-for](docs/rules/label-has-for.md)| Enforce that `<label>` elements have the `htmlFor` prop. || ❌ |
143
+
|[lang](docs/rules/lang.md)| Enforce lang attribute has a valid value. |||
144
+
|[media-has-caption](docs/rules/media-has-caption.md)| Enforces that `<audio>` and `<video>` elements must have a `<track>` for captions. | ☑️ 🔒 ||
145
+
|[mouse-events-have-key-events](docs/rules/mouse-events-have-key-events.md)| Enforce that `onMouseOver`/`onMouseOut` are accompanied by `onFocus`/`onBlur` for keyboard-only users. | ☑️ 🔒 ||
146
+
|[no-access-key](docs/rules/no-access-key.md)| Enforce that the `accessKey` prop is not used on any element to avoid complications with keyboard commands used by a screenreader. | ☑️ 🔒 ||
147
+
|[no-autofocus](docs/rules/no-autofocus.md)| Enforce autoFocus prop is not used. | ☑️ 🔒 ||
148
+
|[no-distracting-elements](docs/rules/no-distracting-elements.md)| Enforce distracting elements are not used. | ☑️ 🔒 ||
149
+
|[no-interactive-element-to-noninteractive-role](docs/rules/no-interactive-element-to-noninteractive-role.md)| Interactive elements should not be assigned non-interactive roles. | ☑️ 🔒 ||
150
+
|[no-noninteractive-element-interactions](docs/rules/no-noninteractive-element-interactions.md)| Non-interactive elements should not be assigned mouse or keyboard event listeners. | ☑️ 🔒 ||
151
+
|[no-noninteractive-element-to-interactive-role](docs/rules/no-noninteractive-element-to-interactive-role.md)| Non-interactive elements should not be assigned interactive roles. | ☑️ 🔒 ||
152
+
|[no-noninteractive-tabindex](docs/rules/no-noninteractive-tabindex.md)|`tabIndex` should only be declared on interactive elements. | ☑️ 🔒 ||
153
+
|[no-onchange](docs/rules/no-onchange.md)| Enforce usage of `onBlur` over `onChange` on select menus for accessibility. || ❌ |
154
+
|[no-redundant-roles](docs/rules/no-redundant-roles.md)| Enforce explicit role property is not the same as implicit/default role property on element. | ☑️ 🔒 ||
155
+
|[no-static-element-interactions](docs/rules/no-static-element-interactions.md)| Enforce that non-interactive, visible elements (such as `<div>`) that have click handlers use the role attribute. | ☑️ 🔒 ||
156
+
|[prefer-tag-over-role](docs/rules/prefer-tag-over-role.md)| Enforces using semantic DOM elements over the ARIA `role` property. |||
157
+
|[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. | ☑️ 🔒 ||
158
+
|[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`. | ☑️ 🔒 ||
159
+
|[scope](docs/rules/scope.md)| Enforce `scope` prop is only used on `<th>` elements. | ☑️ 🔒 ||
160
+
|[tabindex-no-positive](docs/rules/tabindex-no-positive.md)| Enforce `tabIndex` value is not greater than zero. | ☑️ 🔒 ||
Copy file name to clipboardExpand all lines: docs/rules/label-has-for.md
+7-2Lines changed: 7 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -1,12 +1,12 @@
1
1
# jsx-a11y/label-has-for
2
2
3
-
❌ This rule is deprecated.
3
+
❌ This rule is deprecated. It was replaced by [`label-has-associated-control`](label-has-associated-control.md).
4
4
5
5
💼 This rule is _disabled_ in the following configs: ☑️ `recommended`, 🔒 `strict`.
6
6
7
7
<!-- end auto-generated rule header -->
8
8
9
-
*This rule was deprecated in v6.1.0. It will no longer be maintained. Please use [`label-has-associated-control`](label-has-associated-control.md) instead.*
9
+
_This rule was deprecated in v6.1.0. It will no longer be maintained._
10
10
11
11
Enforce label tags have associated control.
12
12
@@ -81,13 +81,15 @@ However, if `allowChildren` is set to `true`, no error will be raised. If you wa
81
81
Note that passing props as spread attribute without `htmlFor` explicitly defined will cause this rule to fail. Explicitly pass down `htmlFor` prop for rule to pass. The prop must have an actual value to pass. Use `Label` component above as a reference. **It is a good thing to explicitly pass props that you expect to be passed for self-documentation.** For example:
0 commit comments