4

我一直在阅读有关 web 可访问性的内容,并阅读了仅当用户将被带到另一个没有 JavaScript 的 URL 时才应使用锚标记。但是,只要发生其他一些行为,例如打开模式,就应该使用按钮。

所以我想知道导航中是否有按钮和锚点是否可以或预期。像这样的东西:

<nav>
  <a href="/">Home Page</a>
  <a href="/about">About Page</a>
  <button>Sign Up</button>
</nav>

假设在这种情况下,注册按钮会启动一个模式或执行一些不会将用户带到不同 URL 的其他行为。两个都在里面好吗nav?我不关心样式,我会让这些看起来一致,但我想知道处理这种事情的最正确方法是什么?

4

4 回答 4

8

从可访问性的角度来看,同时使用链接和按钮是语义上正确的方法。链接将您带到另一个页面(或当前页面上的其他位置)并且按钮执行操作。当屏幕阅读器用户在同一个 <nav> 中听到“链接”或“按钮”时,他们会明白会发生不同的操作。

于 2019-03-15T05:19:49.897 回答
2

正如前面的评论中提到的,是的,在导航中同时使用两者是完全可以的。

如果你真的想要,你可以<a>为所有元素使用元素,但对于按钮,你将包含在role="button"语义上等同于 using 的属性<button>

<nav>
  <a href="/">Home Page</a>
  <a href="/about">About Page</a>
  <a role="button">Sign Up</a>
</nav>
于 2019-03-20T02:17:39.980 回答
1

nav标签中允许使用任何流内容元素,包括按钮。

于 2019-03-14T21:14:53.110 回答
1

是的,在导航栏中使用按钮、锚点甚至 div 都可以,但是您希望可以做到。您只需要习惯使用您所说的 css 和样式即可。那么你应该没有问题。这是否回答你的问题?

于 2019-03-14T20:16:35.817 回答