首页 > 解决方案 > 如何在移动设备的屏幕阅读器中以浏览模式捕获事件

问题描述

在移动设备中使用屏幕阅读器时,我试图在我的网页的下拉列表中循环焦点。在开发工具移动视图中,我能够实现相同的目标。但只要我在实际设备(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();
        }
    });
}

标签: javascriptjqueryaccessibilityscreen-readers

解决方案


推荐阅读