javascript - 508 兼容页面上的 JavaScript 链接的 HREF 属性应该是什么?

标签 javascript anchor href section508

我知道这个问题: Which "href" value should I use for JavaScript links, "#" or "javascript:void(0)"?包含对 javascript 链接的正确 href 内容的讨论。这与 508 合规性有何关系?当点击处理程序在 javascript 代码的其他地方定义时,有人知道 javascript:void(0) 是否可以接受吗?

最佳答案

这就是术语变得重要的地方 - 就可访问性而言,没有“javascript 链接”这样的东西。有一些链接,它们是纯粹的 anchor 元素,还有一些 javascript 行为,为了可访问性,这些行为应该被假定为不可运行。

触发 javascript 的空 anchor 元素(类似于 href='#' onclick='...')不是链接,它是用于触发页面行为的 UI 元素。对于可访问性,不要为此滥用 anchor 元素,使用具有正确 ARIA Angular 色的真实 UI 元素。

对于点击链接(执行类似“点击 anchor ”->“调用神奇的 JS”->“window.location 更改为某个新页面”之类的操作),请注意您在语义上误传了您的内容。即使您使用的是 anchor 元素,您对它的使用也不是链接,因为它不是另一个资源的 anchor 。就像上面的例子一样,它实际上是一个按钮。页面位置最后发生变化的事实并没有改变这一点。

要获得真正的可访问性,您必须放弃任何中间的 JavaScript。但别担心,这并没有听起来那么严重:最简单的解决方案是改用重新路由链接。如果您曾经使用过 google.com 或 duckduckgo.com 等,您就会熟悉这一点:与其链接到实际的 URL,不如链接到通过无页面脚本代理的 URL。您可以保证带有 URL“http://our.domain.com/ref=http://the.actual.link.to.visit”的 anchor 最终会很好地重定向到实际站点,并且您可以将“当人们单击时”应该发生的任何所需操作作为服务器端操作添加,当您解决重定向。

如果您认为自己依赖 JavaScript,那么遵守 508 将很困难。所以对于可访问性:积极尝试不要。如果您可以使用它,请丰富它,确保没有它也能正常工作。

关于javascript - 508 兼容页面上的 JavaScript 链接的 HREF 属性应该是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14715397/

相关文章:

javascript - 在 jQuery 中检测 "runs"的 DOM 元素

html - 对 anchor 链接使用 alt 标签是否正确?

javascript - 在 P 元素中禁用 HREF

html - 如何在中间垂直显示一个href,下划线与图片相同?

html - href ="file://"不起作用

javascript - 我可以使用 Angular JS ng-repeat 和 Turn.js 吗?

javascript - 如何使用jquery从数据库创建复选框列表数据

javascript - Angularjs $http.get 调用在页面加载时出现错误

javascript - 防止 anchor 标签跳转

jQuery:鼠标悬停函数不会触发无序列表后代