JedWatson / JedWatson/react-select
iOS Safari "tab" problem on different scenarios
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 28k
- Forks
- 4.1k
- PR merge metrics
- No merged PRs in 30d
Description
There's currently a bug with the arrow used to navigate between inputs in iOS safari. We're using a custom implementation of react select, overriding a lot of the components of the select, but it's a bug that occurs even in the native implementation of react-select and you can even look at it in the documentation all over the place. The problem is the selects are not being "tabbed" as inputs or recognized as such so they're being skipped or unable to focus it with this method if first or last
Here is a video of the bug inside the documentation site
So the first thing you can see in the video is how I select in the Welcome section the multi variant of the select and I'm not able to go up to the single variant of the select because it's not seen as an input to navigate to. After that, I select a different option since it has a default value and I go back to the multi variant and I'm able to navigate between them now without a problem.
The other scenario is with the grouped select which has the same case as before where I have a default value, the difference is that after I select another option, the grouped select is able to be selected with the "tab" but it doesn't scroll down to it after focusing it.
The last case is with the creatable select which has no value and it has the same problem than before where is not seen as an input hence I can't navigate to it using the "tabbing" iOS Safari feature, but after I select a value it works fine.
In conclusion, there are a couple of scenarios where it doesn't work that I have seen so far:
- Select has no value selected. Check without picking a value Creatable Example
- Select has default value but it's not multi. Check without selecting another value Welcome Example
Other scenarios work I think, but those two described above are failing all over the docsite which are the same that my team and I are having problems with. I could show code examples of our own implementation but it's easily replicable inside the docsite particularly the examples I selected above
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the reported behavior in the documentation site's Welcome, grouped, and creatable examples using iOS Safari, comparing empty and preselected values. Done means the affected selects are reachable with the iOS tab navigation and scroll into view when focused, without regressing the scenarios that already work.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ios, react, typescript
- Domain
- accessibility, frontend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100