Comments (7)
i'm not sure why a button needs a label, but yes, the button would need an ID, and the label would need to enclose the button and have an htmlFor
that points to it.
from eslint-plugin-jsx-a11y.
Use case: A button would need a label if say, there were only an icon.
from eslint-plugin-jsx-a11y.
Why wouldn't you just make it not only be an icon? Icons should always have accompanying text, and ideally inside the clickable region since small target areas are problematic for, say, people with arthritis.
from eslint-plugin-jsx-a11y.
Because it still needs button behavior. It's getting a title via aria-labelled-by
, and the icon's title is in the SVG along with the graphics.
from eslint-plugin-jsx-a11y.
So the title is impossible-to-translate image-based text? O.o
from eslint-plugin-jsx-a11y.
What? No.
https://egghead.io/lessons/css-accessible-icon-buttons
from eslint-plugin-jsx-a11y.
Right - so typical users won't see any text, just an icon. That doesn't seem very UX-friendly to me :-/
Either way, I'd expect the label to wrap the button, not the other way around.
from eslint-plugin-jsx-a11y.
Related Issues (20)
- The summary element should be considered an interactive element HOT 1
- implicitRoles/select.js: implicit role is now "combobox"
- [suggestion] eslint auto-fix support? HOT 8
- [feature] suggest tabindex 0 or -1 for interactive-supports-focus
- axe-core dependency breaks nodejs14 compliancy HOT 3
- jsx-a11y/control-has-associated-label: dangerouslySetInnerHTML should pass? HOT 3
- label-has-associated-control not checking an actual valid configuration HOT 1
- Extend alt-text rule to check for any element with role="img" as well HOT 3
- semver pkg - ReDoS Vulnerability HOT 1
- jsx-a11y/control-has-associated-label throws an error on table elements HOT 5
- Changelog links broken due to different repo HOT 1
- jsx-a11y/label-has-associated-control gives error when for is put HOT 3
- label-has-associated-control regression
- How to configure `eslint-plugin-jsx-a11y` in `eslint.config.js` HOT 5
- [label-has-associated-control] regression - rule errors when a label does not directly have text, even if it has htmlFor HOT 8
- jsx-a11y/control-has-associated-label triggers on TD element HOT 1
- Coordinate NodeJS version support with axe-core HOT 9
- [img-redundant-alt] `words` option does not work with double-byte character words.
- `alt-text`: missing warning for empty `alt` for `<input type="image" alt="" />`
- [label-has-associated-control] Glob format not supporting labelComponents HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from eslint-plugin-jsx-a11y.