eslint-plugin-jsx-a11y
headlessui
eslint-plugin-jsx-a11y | headlessui | |
---|---|---|
17 | 180 | |
3,326 | 24,266 | |
0.6% | 1.2% | |
7.1 | 9.1 | |
19 days ago | 1 day ago | |
JavaScript | TypeScript | |
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.
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.
headlessui
-
Exploring Catalyst, Tailwind's UI kit for React
Catalyst is a comprehensive, fully componentized UI kit for modern React projects, built on the next generation of Headless UI. With Catalyst, you can create a custom set of components to use and reuse in your projects.
-
Headless UI - a great components library for Vue & React
And that is why I was looking for a UI library that would deliver these things for a long time and today I am happy to announce that I have found it! It is Headless UI by the Tailwind Team.
-
The Secret Weapon of Top Developers: 7 React JS Libraries You Can't Afford to Ignore
Headless UI provides a suite of unstyled, fully accessible UI components perfect for developers who want full control over their interface design. It's a developer's canvas, offering the foundational parts needed to build a user interface without dictating the aesthetics, making it ideal for those who love to integrate with Tailwind CSS. With https://headlessui.com/, you can ensure that your applications are inclusive and easy to use for everyone, while also maintaining the freedom to craft a unique look and feel that aligns with your brand or style guidelines.
- Tailwind Color Palette Generator
-
9 React component libraries for efficient development in 2023
GitHub stars: 22.5k GitHub link: https://github.com/tailwindlabs/headlessui Documentation: https://headlessui.com/
-
React Ecosystem in 2024
Website: Headless UI
-
Build E-Commerce apps faster with Storefront UI
Few months ago, I discovered project called Headless UI and I instantly liked the idea.
-
Top 5 Headless Components For Your React Application In 2023
In addition to Tailwind CSS, Tailwind Labs also created Headless UI, a collection of components that work well with Tailwind CSS.
-
Accessibility and Headless UI Libraries - Adobe, Radix, Tailwind, MUI
Tailwind - Headless UI
-
Nue: A React/Vue/Vite/Astro Alternative
Thanks for sharing! I love projects that reimagine entire ecosystems: there's a lot of value in imagining what could be if we didn't worry about what is.
Some feedback: your comparison of the various ListBox implementations[0] feels disingenuous. I know Vue best, so I looked at that implementation in detail, and it's got a lot going on that you don't attempt to replicate in your version. A few key features that are missing:
* Search—in the HeadlessUI version there are several hundred lines dedicated to making typing work for jumping to specific list items.
* Multiselect—HeadlessUI supports multiple selections, yours does not appear to. Again, this occupies a lot of lines.
* Focus management—HeadlessUI has a lot of code dedicated to smoothing out the focus management. In my testing, your implementation has pretty buggy support for using tab to navigate.
* The HeadlessUI version dedicates a lot of lines to types, where your Nue implementation is dynamically typed. This may be a feature for you, but in my mind those type declarations are doing important work.
* In general, the HeadlessUI implementation tries to be flexible for many use cases [2], while yours only needs to support the one demo list.
You also include this render.ts file [1] from HeadlessUI, which is more part of a bespoke sub-framework used by HeadlessUI than it is a necessary part of any old Vue ListBox implementation. If you're going to count that against Vue, then there are parts of Nue JS that should be included as well.
These kinds of comparisons are most persuasive if you can write all the implementations from the ground up, using idiomatic patterns for each framework and identical feature sets for each implementation. When you do that, it's easy to compare and contrast the frameworks. As it is, it's like comparing a house to a garden shed: yes, you've used fewer lines of code, but it's not obvious to me that that's a feature of Nue and not just a byproduct of a less ambitious component.
[0] https://nuejs.org/compare/component.html
[1] https://github.com/tailwindlabs/headlessui/blob/%40headlessu...
[2] https://headlessui.com/vue/listbox#component-apihttps://head...
What are some alternatives?
chakra-ui - ⚡️ Simple, Modular & Accessible UI Components for your React Applications
daisyui - 🌼 🌼 🌼 🌼 🌼 The most popular, free and open-source Tailwind CSS component library
jest-axe - Custom Jest matcher for aXe for testing accessibility ♿️🃏
flowbite - Open-source UI component library and front-end development framework based on Tailwind CSS
svelte-navigator - Simple, accessible routing for Svelte
shadcn/ui - Beautifully designed components that you can copy and paste into your apps. Accessible. Customizable. Open Source.
vite - Next generation frontend tooling. It's fast!
downshift 🏎 - 🏎 A set of primitives to build simple, flexible, WAI-ARIA compliant React autocomplete, combobox or select dropdown components.
agnostic-axe - Framework agnostic accessibility reporter, powered by axe-core
Material UI - Ready-to-use foundational React components, free forever. It includes Material UI, which implements Google's Material Design.
react-a11y-announcer - React Announcer for Screen Reader Accessibility