该技巧的目的是将用户界面元素插入到DOM中,并且tab顺序和屏幕阅读器顺序被设置为用户代理的默认正确顺序。该技巧可被用在隐藏和出现的用户界面元素,例如菜单和对话框。
屏幕阅读器的阅读顺序是基于DOM中HTML或XHTML元素的顺序,是默认tab顺序。该技巧将新内容插入到DOM中,其焦点顺序紧跟触发新内容的元素后。触发元素必须是个链接或按钮,脚本必须从其点击事件中调用。这些元素默认可聚焦,他们点击事件是设备独立的。插入新内容后,焦点仍停留在激活元素上,tab顺序和屏幕阅读器阅读顺序的下一个焦点是新内容。
该技巧在同步刷新时有效。对于同步刷新(有时被称之为AJAX),一个额外的技巧是需要告知辅助技术同步内容已经被插入。
该样例当链接被点击时,创建了一个按钮,并将其插入到连接后。该链接的点击事件被用来调用ShowHide
脚本,将ID作为一个参数传递给新菜单。
ShowHide
创建一个包含新菜单的,div
,并插入到链接之后。最后一行代码是脚本的核心代码。它找到触发脚本元素的父亲,并将其创建的div
作为子元素添加上。这会让新的div
在链接的后面,在DOM中。当用户点击tab,焦点将会去到菜单中第一个可聚焦的元素。
效果