jsx-eslint / eslint-plugin-jsx-a11y

Static AST checker for a11y rules on JSX elements.
MIT License
3.38k stars 637 forks source link

[feat] `control-has-associated-label` can't be configured to support parent elements with label props #987

Open fnune opened 3 months ago

fnune commented 3 months ago

From https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/control-has-associated-label.md#rule-options

labelAttributes is a list of attributes to check on the control component and its children for a label. Use this if you have a custom component that uses a string passed on a prop to render an HTML label, for example.

Unfortunately this only checks children elements of the component and won't allow for setups like this:

<Form.Item label="...">
  <Input />
</Form.Item>
ljharb commented 3 months ago

At some complexity of abstractions there's not much static analysis can do for you. Is <Input /> a placeholder here, or is it an actual component you're using?