Как переместить фокус с «пропустить на основной контент» на iframe и получить доступ к контенту iframe в J AWS? - PullRequest
3 голосов
/ 28 января 2020

Сценарий:
В моем приложении контент в Iframe загружается со стороны сервера, а вся разметка поступает из серверной части. На главной странице html есть кнопки меню навигации и ссылка «Перейти к основному содержанию». Роль для тела iframe задается как «application» (также пробовали с документом). Когда Skip to main content удалено, J AWS читает содержимое iframe, как и ожидалось, но как только раздел «Skip to main content» включен, J AWS читает только первую строку внутри iframe. Какую роль или свойство aria я должен добавить, чтобы при перемещении фокуса с «пропустить на основной контент» на iframe J AWS должен начать читать весь контент внутри iframe? enter image description here Пример кода, используемого для перемещения фокуса внутри iframe:

window.skipNav = function(event) {
switch(event.type)
{
case "keydown":
if (event && event.keyCode == 13) {
setTimeout(setFocusIframe, 100);
}
break;
case "click":
setTimeout(setFocusIframe, 100);
break;
default:
break;

}

}

function setFocusIframe() {
this.iframe[0].contentWindow.document.body.focus()
// var f = jQuery("iframe:first")
// if(f.length > 0) {
// //f[0].contentWindow.document.body.focus();
// f[0].contentWindow.focus();
// console.log("skipNav-------------------------------------------------------->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
// }
}

1 Ответ

0 голосов
/ 14 февраля 2020

Попробуйте проверить, возвращает ли document.activeElement элемент, на котором вы пытаетесь сфокусироваться.

Иногда jQuery .focus () fucntion не делает то, что вы ожидаете.

...