-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
[date-picker] Add UX guidelines, cover birthday #5021
Comments
@oliviertassinari Maybe suggesting developers setting openTo="year" in cases where they want to use date picker for DOB inputs would help avoid such cases? |
@MonstraG The year picker scrolling to the selected date is fixed with but the change would only be released in upcoming v6 release. |
@LukasTy I think it could help, but wouldn't be a great UX. I have updated my initial comment to be clearer with possible steps forward. |
The field are going to replace this component so I guess we will never do this one right ?
Not sure to understand this one Side note: We have to make sure that what we are describing above it mobile compatible. |
@flaviendelangle I had the date field in mind as the "fix" when I wrote this :)
I'm happy to clarify. Say you have entered your birthdate but you are interpreted, you come back to the tab and now you see: You wonder, is 08 the day or the month? Did I input it right? For example with https://media.interieur.gouv.fr/attestation-deplacement-derogatoire-covid-19/, I was always double checking on this field 😁
Great point |
👌
OK so you would be in favor of changing the default date format for date field / date pickers ? I think I agree that with the new editing, full letter months have better UX once they will be stabilized (you can still type the number, you will type 1-3 letters thanks to the autocompletion, so no longer to type than digits, unlike in today's implementation). |
@flaviendelangle I was considering birthdays and other cases where you already know the date you want to input. For the general use (default), I don't know what would be best. But yeah, maybe it should be the same answer for both. Maybe there are multiple valid options:
@gerdadesign might have some perspectives on this. |
Summary 💡
The UX of the current
DatePicker
is optimized to help you find end-users a date they don't already know. The date picker optimizes for picking dates that are close to the time the user is using the component, and often with extra informations like availabilities, price, etc.The problem with a date of birth is that we all know it, what we need a component that is optimized to quickly input it (clear information, fast input, quick feedback loop when making a mistake). We shouldn't have to click 20 times to find the right year, and not get confused about the order between days and month, and so on.
Examples 🌈
Motivation 🔦
I started to look into this from this request: https://groups.google.com/a/mui.com/g/custom-work/c/sz1Xo0_mGAE. https://www.smashingmagazine.com/2021/05/frustrating-design-patterns-birthday-picker/ goes into great length about this problem.
Proposed changes
Going in more depth, I would propose the following actions:
1. Encourage developers to ❌ never use the
DatePicker
component for a birthday (in its current shape).2. Remove the label "Birthday" in https://mui.com/x/react-date-pickers/getting-started/#native-pickers based on point 1.
3. Fix the UX to edit the date in the input. When I want to change 18 to 19, as soon as I remove the 8, I'm lost.
https://mui.com/x/react-date-pickers/getting-started/
I think that we should move away from this textbox implementation, not a great UX.
4. Instead, we can encourage to use of 3 autocompletes for the birthday pickers.
5. Move to the promotion of https://mui.com/x/react-date-pickers/date-field/#basic-usage once we can display the month in a plain string by default (otherwise what's a day and what's a month? I don't know). I assume would fix all the concerns in https://www.smashingmagazine.com/2021/05/frustrating-design-patterns-birthday-picker/.
e.g. https://retool.com/components/date
Order ID 💳 (optional)
No response
The text was updated successfully, but these errors were encountered: