【问题标题】:Should I use a button or a link if the URL doesn't change?如果 URL 不变,我应该使用按钮还是链接?
【发布时间】:2018-09-08 19:10:43
【问题描述】:

我正在构建一个只能在启用 JavaScript 的情况下工作的应用程序(否则,会显示一条适当的消息)。应用程序中有几个屏幕:游戏、教程、设置、关于/学分。它们看起来像单独的页面,但它都是一个单页应用程序。在屏幕之间导航时没有 URL 更改

在这种情况下我应该使用按钮还是锚点? 感觉就像一个锚点,但没有可引导的页面,这意味着href 必须是#。此外,锚点会破坏常见模式,例如在新选项卡/窗口中打开(没有 URL 更改意味着应用程序将在新选项卡中从头开始重新启动)。

【问题讨论】:

  • 从用户体验的角度来看,您不需要导航,因此您也不想使用锚点。根据可访问性规范,当您想在用户交互时触发一些 JavaScript 时,您应该使用按钮。这里有两个链接webaxe.org/proper-use-buttons-linksweb-accessibility.carnegiemuseums.org/content/buttons
  • 在每个单页应用程序中,单击锚标记时都会触发 JavaScript 事件。 “按钮用于 JS”和“锚点用于页面”的口头禅不再成立。

标签: html single-page-application semantic-markup


【解决方案1】:

在同一环境中运行的 UI 元素不应向另一个 URL 提供后备服务。从语义的角度来看,<buttons> 是可行的方法,但有时当光学修改需要更多努力时,就像简单的 <a>-tag 那样,<a>-tag 将是更好的方法,无论如何的语义。例如,屏幕阅读器在按钮和锚点之间只有很小的差异,而在考虑替代标签时,使用其他标签模仿按钮的语义行为的复杂 UI 会出现权重更大的问题。

【讨论】:

    猜你喜欢
    • 2018-11-19
    • 1970-01-01
    • 1970-01-01
    • 2011-01-06
    • 2012-02-26
    • 2011-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多