在移动设备上使用屏幕阅读器时,我试图在页面的下拉列表中循环显示焦点。在开发工具移动视图中,我能够实现相同的目的。但是,只要我在实际设备(S10 +或iPhone X)中打开屏幕阅读器,向前滑动手势就不会触发任何事件。我继续研究,发现浏览模式实际上并没有为任何元素提供焦点,除非轻按即可阅读。
因此,有什么方法/方法可以识别scree阅读器浏览模式中当前处于活动状态的元素。否则我们就是做不到。
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();
}
});
}