-
Notifications
You must be signed in to change notification settings - Fork 185
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
fix(TabbarItem): avoid double focus #8241
fix(TabbarItem): avoid double focus #8241
Conversation
Disable focus from inner Tappable element that is made for ripple effect
This pull request is automatically built and testable in CodeSandbox. To see build info of the built libraries, click here or the icon next to each commit SHA. |
size-limit report 📦
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #8241 +/- ##
=======================================
Coverage 95.53% 95.53%
=======================================
Files 404 404
Lines 11553 11559 +6
Branches 3836 3837 +1
=======================================
+ Hits 11037 11043 +6
Misses 516 516
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
e2e tests |
👀 Docs deployed
Commit a33fd80 |
To avoid optimization
Двойной фокус при переходе через `TabbarItem`'s табом происходит в основном из-за того, что внутри `TabbarItem`, который является кнопкой/ссылкой, лежит интерактивный `Tappable`. `Tappable` внутри нужен для того, чтобы на android был ripple эффект. ------ Видел решение #5914. Тоже изначально думал как бы оставить один Tappable, но решил сделать быстрый фикс конкретно этого поведения. Но в целом, в будущем стоит отрефакторить TabbarItem, чтобы избавиться от ненужных нод и упростить компонент. Изменения - убраем возможность фокуса на `Tappable` через tabindex="-1". - добавляем focus-visible у `Tappable` при фокусировании на `TabbarItem`. Так как иначе при фокусе с клавиатуры вообще фокуса видно не будет, из-за tabindex="-1".
Описание
Двойной фокус при переходе через
TabbarItem
's табом происходит в основном из-за того, что внутриTabbarItem
, который является кнопкой/ссылкой, лежит интерактивныйTappable
.Tappable
внутри нужен для того, чтобы на android был ripple эффект.Видел решение #5914. Тоже изначально думал как бы оставить один Tappable, но решил сделать быстрый фикс конкретно этого поведения. Но в целом, в будущем стоит отрефакторить TabbarItem, чтобы избавиться от ненужных нод и упростить компонент.
Изменения
Tappable
через tabindex="-1".Tappable
при фокусировании наTabbarItem
. Так как иначе при фокусе с клавиатуры вообще фокуса видно не будет, из-за tabindex="-1".Release notes
Исправления