-
Notifications
You must be signed in to change notification settings - Fork 807
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve disabled states documentation #3758
Comments
added some screenshots to a mural to show how we currently make use of tooltips on disabled buttons. Invite link to the mural is in this Slack post |
(Butting in where I don't officially belong so feel free to ignore, but I remembered some nuance from when we'd discuss this back in the day) I can think of two distinct use cases for disabled form elements that also have distinct "justification" worth picking apart a little bit here: 1. A disabled form element that communicates a user error of some kind. I would say this constitutes an anti-pattern worth phasing out. For sighted users it's too subtle and inefficient necessitating easy to miss inline error messaging anyway trading one frustration for another (not totally down to design. Users can't know website to website when their form will be validated) and for screen reader users it requires a highly illogical solution to be accessible--allowing a disabled element to receive focus 😅--which potentially degrades sighted keyboard user's experience. When folks write about disabled form elements being problematic this case is usually what they're referring to. 2. A disabled form element that communicates that some previous choice a user's made has resulted in the disabled choice being invalid. So in this case we're not necessarily thinking of a user whose spent some amount of time carefully (or not so carefully) filling out a form being unable to continue until they correct some error. This I think is the case worth building out and documenting. I'd say that either way having tooltips on disabled elements falls pretty neatly into that aforementioned "highly illogical" solution category so I support the conclusion 😄. It would seem like messaging in plain text in close proximity to the disabled element is the way to go: "Server size options are unavailable when configuring a serverless framework" or something. 🏄🏽 |
In carbon-design-system/carbon#8509 users asked for tooltips on disabled buttons. In carbon-design-system/carbon#14646 I took a jab at putting something together for it. This issue outlines the result of that exploration and the steps we'll take moving forward to address this problem space.
Why tooltips on disabled elements are not ideal
After lots of review with our team, the IBM Accessibility team, and external accessibility experts, we feel this pattern has inherent problems and isn't something we want to pursue adding to the system. This isn't an exhaustive list:
How to solve this issue
Without being able to put tooltips on disabled buttons, we're left with an important question:
This issue aims to answer this question by adding new documentation to the disabled states pattern on our website. We believe the use cases that appear to call for tooltips on disabled buttons can actually be solved via other methods that are more accessible and scalable. One small example of this in the wild was recently fixed by GitHub in a similar manner, carbon-design-system/carbon#8509 (comment).
The focus so far has been exclusively on buttons (mostly IconButton), but this documentation should cover other interactive elements with disabled states such as RadioButtons, OverflowMenuItems, MenuItems, DataTable selection checkboxes, etc.
Additional resources
Request for feedback
To make this documentation as robust as possible, we'd like to compile a set of concrete examples showing UI where a tooltip on a disabled button would've been needed. Armed with these examples, our team will use them to ideate on scalable solutions and inform the documentation.
Important
If you have examples of areas you would've preferred to have tooltips on disabled buttons, please share screenshots in comments on this issue.
Tasks
The text was updated successfully, but these errors were encountered: