0
A
回答
1
我認爲情況是非常相似的內容彈出接管(收藏夾),您希望它:
- 移動鍵盤焦點iframe的頂部。
- 保持鍵盤焦點在iframe中。
要移動鍵盤焦點到iframe中使用適當的鏈接(帶HREF)和觸發:
$("#myIframe").attr("tabindex", "-1").css("outline", "0");
$("#myIframe").focus(); // separate line to ensure the tabindex is applied first.
爲了保持重心在iframe中,找到的第一個和最後一個元素和周圍循環它們:
(function(){
var firstLink = $("#myIframe a:first").get(0);
var lastLink = $("#myIframe a:last").get(0);
$(firstLink).keydown(function(e) {
// if you shift-tab on first link, go to last
if(e.shiftKey && e.keyCode == 9) {
e.preventDefault();
$(lastLink).focus();
}
});
$(lastLink).keydown(function(e) {
// if you press tab without shift, loop to first link.
if (!e.shiftKey && e.keyCode == 9) {
e.preventDefault();
$(firstLink).focus();
}
});
})(); // end tabloop anonymous function
JavaScript/jQuery不是我的強項,所以您可能需要調整它。例如,如果第一個/最後一個可聚焦元素是不起作用的表單控件。
此外,值得一提的是,屏幕閱讀器不一定要使用製表符來瀏覽頁面,它們「瀏覽」(瀏覽模式)並不一定會引起焦點。 爲了將它們保留在iframe中,您實際上需要「隱藏」其他所有內容。
如果你有在同一水平上,這是直截了當的主要內容和iframe,你會開始:
<div class="mainContent">...</div>
<iframe id="myIframe">...</iframe>
頁面加載後使用:
$("#myIframe").attr("aria-hidden", "true");
當IFRAME成爲重點:
$("#myIframe").attr("aria-hidden", "false");
$("div.mainContent").attr("aria-hidden", "true");
這(在一個燈箱中)的所有技術都在一個要點在這裏:https://gist.github.com/alastc/7340946
注:全屏蔽的iframe聽起來有點可疑,如果你提供一些背景有可能是一個更好的解決方案的整個概念?
相關問題
- 1. 無法使用JavaScript獲取DOM元素
- 2. 獲取子DOM的父DOM元素
- 3. 無法在jQuery中獲取DOM元素
- 4. 我無法讀取反應中dom元素的attribut'ref'
- 5. 無法訪問DOM元素
- 6. jquery DOM訪問父元素
- 7. 從DOM中讀取很多元素
- 8. 在使用Javascript填充它之後無法讀取dom元素的值
- 9. jQuery的:無法讀取XML元素值
- 10. 通過簡單的HTML獲取元素無法讀取的簡單方法Dom Dom解析器在PHP中
- 11. 獲取DOM元素
- 12. 從SAX或Dom中的XML元素中讀取元素
- 13. 從WPF的TreeView中讀取父元素
- 14. 使DOM元素有效地只讀
- 15. 獲取使用父元素
- 16. 無法使子元素與父元素的高度相同IE
- 17. 無法訪問動態DOM元素
- 18. Backbone Marionette LayoutView無法找到DOM元素
- 19. 哪些DOM元素無法接受ID?
- 20. 角的javascript:無法訪問DOM元素
- 21. Jasmine - 無法將元素附加到DOM
- 22. angular.element()無法找到DOM元素
- 23. 無法訪問durandal中的dom元素
- 24. FusionCharts - 無法找到容器DOM元素
- 25. 獲取DOM元素的正確方法
- 26. 從特定父元素讀取某些子元素
- 27. Java DOM解析無法讀取節點
- 28. 使用PHP讀取XML DOM元素的問題
- 29. 獲取父元素
- 30. 使用DOM元素
更準確的標題可能是「在iframe中包含鍵盤焦點」? – AlastairC