Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

label-has-associated-control regression #962

Closed
EvgenyOrekhov opened this issue Nov 7, 2023 · 1 comment · Fixed by #1021
Closed

label-has-associated-control regression #962

EvgenyOrekhov opened this issue Nov 7, 2023 · 1 comment · Fixed by #1021

Comments

@EvgenyOrekhov
Copy link

EvgenyOrekhov commented Nov 7, 2023

Looks like controlComponents option is no longer respected.

The following code now gives A form label must be associated with a control warning:

/* eslint
  "jsx-a11y/label-has-associated-control": [
    "error", { "controlComponents": ["InputComponent"] },
  ],
*/

function MyComponent() {
  return (
    <label>
      My label
      <InputComponent />
    </label>
  );
}

Started happening after upgrade from 6.7.1 to 6.8.0.

@lb-
Copy link
Contributor

lb- commented Oct 22, 2024

I have been unable to reproduce this issue, testing against the latest released version 6.10.1 (example code below).

It's possible this was fixed by a08fbcc / #1004

Nonetheless, I might put up a PR that adds extra test coverage for this area for non-nested usage.

Example

See https://stackblitz.com/edit/vitejs-vite-vriesx?file=src%2Fcomponent.tsx

/* eslint
  "jsx-a11y/label-has-associated-control": [
    "error", { "controlComponents": ["InputComponent"] },
  ],
*/

const InputComponents = () => <input />;

function MyComponent() {
  return (
    <label>
      My label
      <InputComponents />
    </label>
  );
}

export default MyComponent;

lb- added a commit to lb-/eslint-plugin-jsx-a11y that referenced this issue Oct 22, 2024
- Add test cases for non-nested labels with custom controlComponents
- Fix small typo in mayContainChildComponent util
- See jsx-eslint#962
ljharb pushed a commit to lb-/eslint-plugin-jsx-a11y that referenced this issue Oct 25, 2024
- Add test cases for non-nested labels with custom controlComponents
- Fix small typo in mayContainChildComponent util
- See jsx-eslint#962
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants