Tabindex для пропуска iframe, но не содержимого внутри - PullRequest
3 голосов
/ 16 сентября 2011

У меня есть страница с iframe, а iframe содержит форму. За пределами моего iframe у меня есть больше форм.

Элементами ввода внутри iframe являются tabindex 1, 2, 3, 4, и я дал элементы формы вне iframe tabindex 5, 6, 7, 8.

Когда я захожу на страницу и захожу в поле ввода внутри iframe (tabindex 1) и перебираю, я правильно посещаю 2, 3, 4, но потом что-то происходит (очевидно, что весь iframe выбран), затем URL-адрес моего браузера выбирается, затем окно поиска и только затем элементы с tabindex 5, 6, 7, 8.

Как я могу преодолеть это поведение? Я хотел бы просто пропустить с 4 до 5 без других проблем.

Я могу управлять как страницей, так и содержимым iframe, поэтому javascript может быть решением, но страницы находятся в разных доменах, и я не могу перенести их на один и тот же, так что это межсайтовый доступ.

Ура!

1 Ответ

0 голосов
/ 02 января 2012

Чтобы ответить на часть вашего вопроса, элемент body внутри iframe является фокусируемым элементом.

Вы можете предотвратить этот эффект, установив tabindex в -1 в теле загруженного кадра.Например:

external.html:

<body>
 <iframe src="inner.html"></iframe>
 <input />
 <input />
 <input />
 <input />
</body>

inner.html:

<body tabindex="-1">
 <input />
 <input />
 <input />
 <input />
</body>
...