There is no way to manage focus for external keyboard from one element to another
还没有人认领这个 Issue。
- 主要语言
- C++
- 星标
- 127k
- 派生
- 25.3k
- 平均合并
- 1 天 23 小时
- 30 天内合并 PR
- 4
描述
Description
Sometimes we need to set external keyboard focus from one place to another, for instance from one Pressable to another Pressable, or from a Pressable to a View.
For Screen Reader users we can use AccessibilityInfo.setAccessibilityFocus(tag) to manage focus, but this technique does not work for the external keyboard when a screen reader is not switched on.
The standard React method of ref.current.focus() also does not work for external keyboard users on mobile (only web).
React Native Version
0.71.3
Output of npx react-native info
I don't have access to this.
Steps to reproduce
On Android or iOS physical device:
- Connect a hardware keyboard to the device using bluetooth.
- Open https://snack.expo.dev/@nedgip/external-keyboard-focus-example-1 in Expo Go
- Navigate to the Send focus button using arrow keys
- Press Space
Expected
Focus should move to the Receive focus button
Actual
Focus remains on the Send focus button
Snack, screenshot, or link to a repository
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
首先,使用链接的两个 Expo Snack 示例,在配备硬件键盘的实体 Android 和 iOS 设备上复现该行为。跟踪激活“Send focus”按钮时焦点的处理方式,然后验证在未启用屏幕阅读器的情况下,焦点会移动到“Receive focus”按钮。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- react-native
- 领域
- accessibility, mobile
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 活跃
- 描述清晰度
- 基本清楚
- 新手友好度
- 52/100