我的iframe里面是一个带有file类型和图像元素的输入元素的表单。
当使用tab键时,它会整体关注iframe并且不会聚焦在输入框上,下一次按Tab键会聚焦于为文件类型的输入元素显示的Browse按钮。
我的要求是当我按下tab时,焦点会进入输入文本框,然后是浏览按钮,最后是图像元素。
我尝试将tabindex
设为0,但无效。
请建议如何通过元素控制标签顺序。
答案 0 :(得分:1)
iframe中的表单与主页分开,因此您需要将iframe中的对象放到主页上,以便tabindex按您的要求工作。
执行此操作的一种方法是使用Ajax加载表单,而不是使用iframe。这样您就可以根据需要动态加载和设置tabindex。
一旦解决了有两个页面的问题,即'main'和'iframe',您只需要依次设置每个元素上的tabindex
,递增值以显示所需的Tab键顺序。唯一需要注意的是,您无法在图像上设置tabindex。一种解决方法是将图像包装在接受tabindex的元素中,例如a
元素......
以下内容应该起作用,输入,按钮,链接(图像)
<input tabindex="1" name="" value="" id="" type="text" />
<button tabindex="2" name="" value="browse" id="browse" />
<a href="" tabindex="3"><img src="" /></a>
有关tabIndex属性(带示例)
的更多信息,请参阅此页面http://www.w3schools.com/jsref/prop_html_tabindex.asp
以及使用属性
的accessiblity指南