javascript - 如何在移动设备的屏幕阅读器中以浏览模式捕获事件
问题描述
在移动设备中使用屏幕阅读器时,我试图在我的网页的下拉列表中循环焦点。在开发工具移动视图中,我能够实现相同的目标。但只要我在实际设备(S10+ 或 iPhone X)中打开屏幕阅读器,向前滑动手势就不会触发任何事件。我继续研究,发现浏览模式实际上并没有为任何元素提供焦点,除非被点击,否则只会读取它。
那么,有什么方法/方法可以识别当前在屏幕阅读器浏览模式下哪个元素处于活动状态。或者我们就是做不到。
function trapFocus(firstElem, lastElem) {
// shift+tab on first element
$(firstElem).on('keydown', function(e) {
if (e.shiftKey && e.keyCode == 9) {
$(lastElem).focus();
e.preventDefault();
}
});
// tab on last element with no shift
$(lastElem).on('keydown', function(e) {
if (!e.shiftKey && e.keyCode == 9) {
$(firstElem).focus();
e.preventDefault();
}
});
}
解决方案
推荐阅读
- swift - 尝试 Alamofire 时找不到迦太基符号
- python - 逻辑回归拟合时显示值错误
- python - 有一种更简单的方法来检测python中的元音吗?
- eclipse - Maven 更新导致 NullPointerException。在哪里可以找到堆栈跟踪/原因?
- android - Flutter:KeyboardType 属性在 TextFormField 中没有按预期工作,仍然可以粘贴文本。如何更改输入类型?(Flutter)
- javascript - 使用 Async/Await 捕获错误
- intellij-idea - 我在解决 IntelliJ 的窗口大小时遇到问题
- python - 如何修复(“ValueError:您正在尝试将包含 16 层的权重文件加载到具有 0 层的模型中”)
- c# - Xamarin EF Core 数据库迁移删除旧数据
- excel - 自动将电子邮件从 Outlook 导出到 Excel