10.10.0
This release
Added 17 new rules for React Accessibility
- S6841 tabIndex values should be non-positive
- S6842 Non-interactive DOM elements should not have interactive ARIA roles
- S6840 DOM elements should use the autocomplete attribute correctly
- S6843 Interactive DOM elements should not have non-interactive ARIA roles
- S6844 Anchor tags should not be used as buttons
- S6846 DOM elements should not use the accesskey property
- S6850 Header elements should have accessible content
- S6851 Images should have a non-redundant alternate description
- S6847 Non-interactive elements shouldn't have event handlers
- S6854 iFrames must have a title
- S6855 Media elements should have captions
- S6845 Non-interactive DOM elements should not have the tabIndex property
- S6849 HTML elements should have a valid language property
- S6848 Non-interactive DOM elements should not have an interactive handler
- S1077 Image, area, button with image and object elements should have an alternative text
- S6852 Elements with an interactive role should support focus
- S6853 Label elements should have a text label and an associated control
Added 5 new rules for React deprecated APIs
- S6788 Disallow usage of findDOMNode
- S6789 Disallow usage of isMounted
- S6790 Disallow using string references
- S6791 Disallow usage of unsafe lifecycle methods
- S1874 Disable older React deprecated APIs
What's Changed
- Add a sanity check for rules that should be mapped by @yassin-kammoun-sonarsource in #4350
- Improve the time complexity of the sanity check for mapped rules by @yassin-kammoun-sonarsource in #4351
- Update license to
LGPL-3.0-only
by @ilia-kebets-sonarsource in #4354 - Update eslint-plugin-sonarjs to 0.23.0 by @yassin-kammoun-sonarsource in #4358
- Create rule S6788: Disallow usage of findDOMNode (
react/no-find-dom-node
) by @vdiez in #4359 - Create rule S6789: Disallow usage of isMounted (
react/no-is-mounted
) by @yassin-kammoun-sonarsource in #4361 - Create rule S6790: Disallow using string references by @vdiez in #4360
- Create rule S6791: Disallow usage of unsafe lifecycle methods (
react/no-unsafe
) by @yassin-kammoun-sonarsource in #4362 - Create rule S6841 (
jsx-a11y/tabindex-no-positive
):tabIndex
values should be non-positive by @yassin-kammoun-sonarsource in #4365 - Create rule S6842 (
jsx-a11y/no-noninteractive-element-to-interactive-role
): Non-interactive DOM elements should not have interactive ARIA roles by @yassin-kammoun-sonarsource in #4366 - Create rule S6840 (
jsx-a11y/autocomplete-valid
): DOM elements should use theautocomplete
attribute correctly by @yassin-kammoun-sonarsource in #4364 - Create rule S6843 (
jsx-a11y/no-interactive-element-to-noninteractive -role
): Interactive DOM elements should not have non-interactive ARIA roles by @yassin-kammoun-sonarsource in #4369 - Load
package.json
on init-linter by @vdiez in #4363 - Create rule S6844 (
jsx-a11y/anchor-is-valid
): Anchor tags should not be used as buttons by @saberduck in #4373 - Add rule S6845 (
jsx-a11y/no-noninteractive-tabindex
): Non-interactive DOM elements should not have thetabIndex
property by @ilia-kebets-sonarsource in #4374 - Create rule S6846 (
jsx-a11y/no-access-key
): DOM elements should not use theaccesskey
property by @yassin-kammoun-sonarsource in #4372 - Modify S4328: Use new
package.json
shared methods by @vdiez in #4377 - Add rule S6849 (
jsx-a11y/html-has-lang
) and (jsx-a11y/lang
): HTML elements should have a valid language property by @ilia-kebets-sonarsource in #4387 - Add rule S6848 (
jsx-a11y/no-static-element-interactions
): Non-interactive DOM elements should not have an interactive handler by @yassin-kammoun-sonarsource in #4385 - Add
mergeRules()
example to DEV.md by @ilia-kebets-sonarsource in #4389 - Modify S1874: Merge with
react/no-deprecated
by @vdiez in #4371 - Create rule S6850 (
jsx-a11y/heading-has-content
): Header elements should have accessible content by @yassin-kammoun-sonarsource in #4390 - BUILD-4131 use GitHub token from vault instead of sonartech api token by @sebastienvermeille in #4386
- Add rule S1077 (
jsx-a11y/alt-text
): Image, area, button with image and object elements should have an alternative text by @ilia-kebets-sonarsource in #4391 - Improve S1874 (
deprecation
): Remove references from Reactno-deprecated
messages by @vdiez in #4392 - Create rule S6851 (
jsx-a11y/img-redundant-alt
): Images should have a non-redundant alternate description by @yassin-kammoun-sonarsource in #4394 - Improve S6849 (
html-has-lang
): raise issue onhtml
tag name instead of whole<html ...>
tag if thelang
attribute is missing by @ilia-kebets-sonarsource in #4395 - Create rule S6847 (
jsx-a11y/no-noninteractive-element-interactions
): Non-interactive elements shouldn't have event handlers by @saberduck in #4388 - Add rule S6852 (
jsx-a11y/interactive-supports-focus
): Elements with an interactive role should support focus by @saberduck in #4397 - Fix message in S6844 by @saberduck in #4398
- Create rule S6854 (
jsx-a11y/iframe-has-title
): iFrames must have a title by @yassin-kammoun-sonarsource in #4399 - Create rule S6855 (
jsx-a11y/media-has-caption
): Media elements should have captions by @yassin-kammoun-sonarsource in #4404 - Add rule S6853 (
jsx-a11y/label-has-associated-control
): Label elements should have a text label and an associated control by @ilia-kebets-sonarsource in #4396 - Improve S1077 (
alt-text
): Report on the name of the opening element by @ilia-kebets-sonarsource in #4407 - Improve S6853 (
label-has-associated-control
): Report on the name of the opening element by @ilia-kebets-sonarsource in #4408 - Improve S6855 (
media-has-caption
): Report on the name of the opening element by @yassin-kammoun-sonarsource in #4406 - Add script to count rules for README by @ilia-kebets-sonarsource in #4409
This release will be part of SonarQube 10.4
https://github.com/SonarSource/SonarJS/milestone/82?closed=1