[Rating] Keyboard navigation doesnt loop in Safari
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 99.1k
- Forks
- 32.5k
- Avg merge
- 2d 17h
- Merged PRs (30d)
- 106
Description
Duplicates
- I have searched the existing issues
Latest version
- I have tested the latest version
Current behavior 😯
Only for Keyboard Users, I am trying to access the rating component on the safari browser with arrow keys but I cannot properly navigate between stars similar to the chrome browser.

Expected behavior 🤔
This navigation should work normally in the Chrome browser. So it should have similar behaviour in the safari browser.

Steps to reproduce 🕹
Steps:
- Open Rating component on Mac OS + Safari browser
- Press the Tab key until reached the Rating component
- Press down/right arrow key to select stars
- Navigation between stars did not start with the right arrow key and did not behave similarly like chrome
Context 🔦
I was using this component and this issue comes into the picture while accessibility testing.
Your environment 🌎
npx @mui/envinfo
System:
OS: macOS 12.5.1
Binaries:
Node: 16.17.0 - /usr/local/bin/node
Yarn: Not Found
npm: 8.18.0 - /opt/homebrew/bin/npm
Browsers:
Chrome: 104.0.5112.101
Edge: Not Found
Firefox: Not Found
Safari: 15.6.1
npmPackages:
@types/react: 16.9.15 => 16.9.15
react: 16.12.0 => 16.12.0
react-dom: 16.12.0 => 16.12.0
typescript: 4.2 => 4.2.4
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 with the Rating component and reproduce the keyboard navigation on macOS Safari 15.6.1, comparing it with Chrome using the arrow-key steps in the issue. Trace the component's keyboard handling and verify that navigation between stars behaves consistently in Safari and Chrome when the fix is complete.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, react
- Domain
- accessibility, frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100