jest-axe
eslint-plugin-jsx-a11y
Our great sponsors
jest-axe | eslint-plugin-jsx-a11y | |
---|---|---|
4 | 17 | |
1,044 | 3,321 | |
- | 0.7% | |
3.0 | 7.1 | |
19 days ago | 13 days ago | |
JavaScript | JavaScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
jest-axe
-
Xbox’s Matt Booty ‘dreams’ of having AI as QA testers
I usually use a combination of Storybook + Chromatic, Cypress, and Jest + Testing Library + jest-axe. Fairly standard, I think? (Aside from Chromatic, but that's mainly for convenience)
-
How to build an inline edit component in React
And finally, we can use a cool library called jest-axe. You can use it to assert that your component doesn’t have any accessibility violations:
-
Study Notes for Kent C. Dodds' Javascript Testing Course
How to test accessibility issues? Use Jest-axe GitHub - nickcolley/jest-axe: Custom Jest matcher for aXe for testing accessibility ♿️🃏
-
Automated Accessibility Testing Is a Good Start - But You Need To Test Manually Too
Tests are another place where plugins can bring more accessibility insights. I've used two, depending on the test setup: jest-axe and cypress-axe. They both add axe-core, Deque's testing solution to the testing environment.
eslint-plugin-jsx-a11y
- Tailwind Handbook - Part II
-
Speeding up the JavaScript ecosystem – Polyfills gone rogue
I try to focus on the issues rather than individuals, but the root of the problems in the listed eslint plugin libraries points to ljharb.
If you do some simple digging into these libraries, you will find that these types of commits are quite common within them.
https://github.com/jsx-eslint/eslint-plugin-react/commit/e1d...
https://github.com/jsx-eslint/jsx-ast-utils/commit/bad51d062...
https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/commit/...
He would rather see the download count of these polyfill libraries https://github.com/ljharb/ljharb#projects-i-maintain increase, compared to assessing the health of the JavaScript ecosystem.
-
The Best ESLint Rules for React Projects
jsx-a11y is all about ensuring your DOM elements are accessible. This plugin will prompt you to include the correct ARIA attributes such as labels and roles, in addition to things like alt text.
-
Create React UI Lib 1.1: Ladle and ESLint
You can also add ESLint now (props to @femincan for the suggestion). It comes with recommended settings for these plugins: typescript, prettier, react, react-hooks, jsx-a11y.
-
Light UI component library but as good as MUI (or atleast close to it)?
WAI-ARIA is important if you are writing custom components and do not follow the general rules for HTML tags. For example, if you are using a `div` as a button, you would need to add tags for accessibility. Yes, there are some other instances, like adding alt text to images or adding a title to an iframe, but these can all be handled with warnings in the editor using the jsx-a11y eslint plugin. Some other nuance will be up to the developer to make sure they follow the proper accessibility structure, but most use cases are outlined in the Daisy UI tailwind examples, they do a great job of using HTML properly and give fully accessible examples for their components. Take a look at the accordion example, you can tab into the accordion and use the arrow keys to navigate.
-
Introducing react.dev: the new React docs site!
jsx-a11 (ESLint plugin) checks a couple other things.
-
Newbie question about ARIA/ADA Compliance
When using react, I've been using the recommended rules from eslint-plugin-jsx-a11y. Am I naive for relying a lot on that to get a11y right? Of course I try to write semantic html too and do research for each topic, but it's a bit overwhelming and I feel like the eslint rules help me a lot.
-
Can someone help me locate documentation where this eslint rule is talked about?
I found the documentation but no solution here: https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/label-has-associated-control.md
-
Setting up ESLint & Prettier in ViteJS
eslint-plugin-jsx-a11y: Checks for accessiblity issues.
-
Introduction to Web Accessibility (A11Y)
For example, Deque's open-source Axe project can help identify issues such as common HTML semantic errors, contrast problems, and more. There are even libraries that help integrate Axe into your project's linters, such as one for React called eslint-plugin-jsx-a11y.
What are some alternatives?
test-data-bot
chakra-ui - ⚡️ Simple, Modular & Accessible UI Components for your React Applications
Cypress - Fast, easy and reliable testing for anything that runs in a browser.
svelte-navigator - Simple, accessible routing for Svelte
lighthouse - Automated auditing, performance metrics, and best practices for the web.
vite - Next generation frontend tooling. It's fast!
msw - Seamless REST/GraphQL API mocking library for browser and Node.js.
agnostic-axe - Framework agnostic accessibility reporter, powered by axe-core
jest-dom - :owl: Custom jest matchers to test the state of the DOM
react-a11y-announcer - React Announcer for Screen Reader Accessibility
jest-in-case - Jest utility for creating variations of the same test
storybook - Storybook is a frontend workshop for building UI components and pages in isolation. Made for UI development, testing, and documentation.