Comments (3)
It would be good to include the APG examples in the research
from carbon.
I'm currently working on an issue we've encountered with ComboBox relevant to this work.
ComboBox offers no suitable affordance to indicate values entered by typing will not be accepted.
Currently when you type into ComboBox, then blur the input, the entered text is cleared and it reverts to the previous value/state. I believe the intention of this was to indicate to the user that custom text was not allowed.
Now imagine a scenario where the ComboBox has a default selection. User enters some text that exactly matches another option in the list, but instead of moving focus away from the field—because maybe there are no more inputs in the form—they use their mouse to click the Submit button.
Combobox will blur, clear their entered text and revert to the default selection. This all happens faster than the user can perceive. Form submission validation won't catch it because the input has a valid selection, but nonetheless, the user has submitted a selection they did not intend.
Now, why might the user type text as their value instead of explicitly selecting an option from the list? Well, maybe they find that faster, maybe they're pasting text, using autofill, but also the input does not indicate in any way that values entered by typing will not be accepted.
There is no affordance to users when allowCustomValue
is true or false.
I think an non-obvious way to improve the affordances for when custom text is allowed is to consider keeping the design of combobox as-is but changing the design for when custom text is not allowed.
For example, utilising more of a filterable select pattern which separates the UI showing the current selection from the input used to filter/search the options.
- The current selection is shown in the button that triggers the popup.
- The search/filter input is inside the popup.
- When the popup is closed, the search/filter text is discarded and the selection remains.
Here are two examples of this:
In these examples the state of the current selection is clearly distinguished from the search/filter text. A user is less likely to think that the text they have entered will be accepted as a value for the field.
from carbon.
Thank you for submitting a feature request. Your proposal is open and will soon be triaged by the Carbon team.
If your proposal is accepted and the Carbon team has bandwidth they will take on the issue, or else request you or other volunteers from the community to work on this issue.
from carbon.
Related Issues (20)
- LLM POC: Build Figma plugin shell
- LLM POC: Update Figma plugin shell to recursively query Figma Layer components
- [AI] Mark AISkeleton components stable
- LLM POC: Develop Figma Layer components translation JSON data model for Plugin
- [Feature Request]: HOT 1
- LLM POC: Prompt engineering for code generation and implement prompt automation in Plugin
- [AI] Figma: Rename `Slug` Figma component to `AI label`
- LLM POC: Configure External LLM and cloud APIs to accept code generation prompts from Plugin
- LLM POC: Configure Internal LLM (WatsonX) and associated cloud APIs to accept code generation prompts from Plugin
- LLM POC: Iterate and refine code generation prompts for LLMs to optimize code outputs
- LLM POC: Update approach to generate code customized for the Carbon Design System
- LLM POC: Evaluate performance and iterate upon code generation technique with various Carbon components, both simple and complex and grid
- [a11y]: Switcheritem tag giving accessibility error
- [Feature Request]: UI component for text selection HOT 1
- [CIOH] Task rotation board HOT 1
- [Select] Discrepancy in component behavior HOT 2
- [Bug]: Left Side Nav / UIShell reopens on page focus
- [a11y]: Tab focus in accordion items incorrect, focusing on hidden items
- [CodeSnippet] Add inline and multi-line variants under playground HOT 1
- Action Required: Fix Renovate Configuration
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 carbon.