Security News
NIST Misses 2024 Deadline to Clear NVD Backlog
NIST has failed to meet its self-imposed deadline of clearing the NVD's backlog by the end of the fiscal year. Meanwhile, CVE's awaiting analysis have increased by 33% since June.
eslint-plugin-jsx-a11y
Advanced tools
A static analysis linter of jsx and their accessibility with screen readers.
The eslint-plugin-jsx-a11y npm package is a collection of accessibility-related rules for ESLint that enforce best practices for accessibility in JSX (most commonly used with React). It helps developers write code that is accessible to users with disabilities by checking for common accessibility errors and suggesting improvements.
Accessible elements
Ensures interactive elements are accessible. For example, this rule checks that buttons have an accessible name and can be interacted with via keyboard.
<button onClick={this.handleClick}>Click me</button>
Aria roles
Enforces the use of valid ARIA roles and that elements with ARIA roles have the required attributes for that role.
<div role="button" onClick={this.handleRoleClick}>Role Button</div>
Media captions
Ensures media elements such as audio and video have captions or descriptions to aid users who cannot see or hear the content.
<video><track kind="captions" /></video>
No redundant alt text
Prevents the use of redundant alt text in images, which can be frustrating for screen reader users.
<img src="image.jpg" alt="" />
Keyboard accessibility
Ensures that custom interactive elements are focusable and have keyboard event handlers to mimic native interactive elements.
<div tabIndex="0" onKeyDown={this.handleKeyDown}>Focusable Div</div>
Similar to eslint-plugin-jsx-a11y, but specifically tailored for Vue.js applications. It provides a set of accessibility rules for Vue.js templates.
While not exclusively focused on accessibility, eslint-plugin-react includes some rules related to accessibility. It is a broader linting tool for React-specific code practices.
Although not an ESLint plugin, axe-core is a library for accessibility testing that can be integrated into testing frameworks. It provides comprehensive accessibility checks that can be run on rendered HTML, complementing the static analysis provided by eslint-plugin-jsx-a11y.
A static analysis linter of jsx and its accessibility to all users.
You'll first need to install ESLint:
$ npm i eslint --save-dev
Next, install eslint-plugin-jsx-a11y
:
$ npm install eslint-plugin-jsx-a11y --save-dev
Note: If you installed ESLint globally (using the -g
flag) then you must also install eslint-plugin-jsx-a11y
globally.
Add jsx-a11y
to the plugins section of your .eslintrc
configuration file. You can omit the eslint-plugin-
prefix:
{
"plugins": [
"jsx-a11y"
]
}
Then configure the rules you want to use under the rules section.
{
"rules": {
"jsx-a11y/rule-name": 2
}
}
MIT License.
FAQs
Static AST checker for accessibility rules on JSX elements.
The npm package eslint-plugin-jsx-a11y receives a total of 13,668,732 weekly downloads. As such, eslint-plugin-jsx-a11y popularity was classified as popular.
We found that eslint-plugin-jsx-a11y demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
NIST has failed to meet its self-imposed deadline of clearing the NVD's backlog by the end of the fiscal year. Meanwhile, CVE's awaiting analysis have increased by 33% since June.
Security News
Cloudflare has launched a setup wizard allowing users to easily create and manage a security.txt file for vulnerability disclosure on their websites.
Security News
The Socket Research team breaks down a malicious npm package targeting the legitimate DOMPurify library. It uses obfuscated code to hide that it is exfiltrating browser and crypto wallet data.