Skip to content

Instantly share code, notes, and snippets.

@shanechin
Forked from RobertAKARobin/safari.md
Created December 27, 2022 05:22
Show Gist options
  • Save shanechin/35e6f05fd73b49de801692b363432885 to your computer and use it in GitHub Desktop.
Save shanechin/35e6f05fd73b49de801692b363432885 to your computer and use it in GitHub Desktop.
Safari's date-picker is the cause of 1/3 of our customer support issues

Safari's date-picker is the cause of 1/3 of our customer support issues

...and obviously we're building a workaround. But I'm absolutely flabbergasted that a standard <input type="date"> HTML field, in a standard browser, from a company that bases its reputation good design, could be so dreadful.

I'm the developer for a startup that sells a genetic test to recommend medications for high blood pressure. As such, most of our customers are in their 60s or older. We have found that many of them are using iPads or iPhones. And they're the ones complaining to our customer support line about our site being unusable.

The problem

This is what pops up when you tap on a date field. Not bad... unless you're trying to pick your birth date, which happened to be in 1945.

iphone

There is no option to manually enter the correct date. The only obvious path forward is to tap the left arrow button 924 times to get back to 1945. The not-obvious path forward -- which our elderly users cannot find -- is to tap "December 2022", which pops open this rolodex-type thing:

iphone_rolodex

This is also confusing because:

  • You can't pick the day
  • The months counterintuitively move independently of the year
  • The need to swipe up and down on the "rollers" is not obvious to those who weren't born during the Digital Age

Our fix

Spend a surprising amount of time fiddling with custom Django fields and widgets to split the date field into three separate <input type="number"> fields:

iphone_new

It's not fancy, but it works. In fact, it works because it's not fancy.

Conclusion

I'm aware that Safari is the new IE, and don't personally care for the iOS UI. But I chalked up the "New IE" stuff to annoying little CSS issues, and expected that devices recommended specifically for the elderly would be usable by the elderly.

We haven't lost millions, or even thousands on this. If we were in a position to be losing that much we'd also be in a position to buy robust usability testing services, which probably would have caught this issue early. But small-biz developers should be able to have enough confidence in the platform for which they're developing that usability testing for standard web browser functionality is a remote nice-to-have, not a need-to-have.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment