airbnb / airbnb/javascript

[eslint-config-airbnb] `jsx-a11y/control-has-associated-label` config does not ignore `td` and `th` HTML elements

Open
#3,069 9 comments 0 reactions 0 assignees View on GitHub
pull request wanted
Dominant language
JavaScript
Stars
148k
Forks
26.6k
PR merge metrics
No merged PRs in 30d

Description

At Material UI, we use `eslint-config-airbnb`, which includes `jsx-a11y` pre-defined rules. We’re encountering this error for `td` and `th` elements:

```
A control must be associated with a text label jsx-a11y/control-has-associated-label
```

Since `td` and `th` are non-interactive, they should be added to the `ignoreElements` list [here](https://github.com/airbnb/javascript/blob/c25bce83be4db06e6a221d79686c485cd2ed5d5d/packages/eslint-config-airbnb/rules/react-a11y.js#L77-L85) and not parsed by jsx-a11y plugin.

This is preventing us from bumping `eslint-plugin-jsx-a11y`: https://github.com/mui/material-ui/pull/39752.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at packages/eslint-config-airbnb/rules/react-a11y.js, specifically the linked ignoreElements configuration, and review how the jsx-a11y rule is configured there. Verify that td and th are ignored by control-has-associated-label and that the configuration still works with the newer eslint-plugin-jsx-a11y version.

Written by the indexing model from the issue text.

Assessment

Tech stack
eslint, javascript
Domain
accessibility, tooling
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.