Tim*_*Tim 5 javascript anchor section508 href
我知道这个问题: JavaScript 链接应该使用哪个“href”值,“#”还是“javascript:void(0)”?包含关于 javascript 链接的正确 href 内容应该是什么的讨论。这与 508 合规性有何关系?有谁知道当点击处理程序在 javascript 代码中的其他地方定义时 javascript:void(0) 是否可以接受?
这就是术语变得重要的地方 - 就可访问性而言,不存在“javascript 链接”之类的东西。有些链接是纯粹的锚元素,还有 JavaScript 行为,应该假设它们不可运行以实现可访问性。
触发 javascript 的空锚元素(例如 href='#' onclick='...')不是链接,它是用于触发页面行为的 UI 元素。为了实现可访问性,请勿为此滥用锚元素,而应使用具有正确 ARIA 角色的真实 UI 元素。
对于点击链接(执行类似“单击锚点”->“调用神奇 JS”->“window.location 更改为某个新页面”之类的操作),请注意您在语义上歪曲了您的内容。即使您使用的是锚元素,您对它的使用也不是作为链接,因为它不是另一个资源的锚。就像上面的例子一样,它实际上是一个按钮。页面位置最后发生变化这一事实并没有改变这一点。
为了真正的可访问性,您必须放弃任何中间的 JavaScript。但不用担心,这并不像听起来那么严重:最简单的解决方案是使用重新路由链接。如果您曾经使用过 google.com 或 duckduckgo.com 等,那么您已经熟悉这一点:不是链接到实际的 URL,而是链接到通过无页脚本代理的 URL。您可以保证 URL 为“ http://our.domain.com/ref=http://the.actual.link.to.visit ”的锚点最终会重定向到实际站点,并且您当您解析重定向时,可以将“当人们单击时”发生的任何所需操作作为服务器端操作进行处理。
如果您认为自己依赖 JavaScript,那么 508 合规性将会很困难。因此,对于可访问性:积极尝试不这样做。如果你能使用它,就丰富它,确保没有它也能正常工作。
| 归档时间: |
|
| 查看次数: |
1726 次 |
| 最近记录: |