导航中的按钮而不是锚点?

Buttons in nav instead of anchor?

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

所以我想知道在导航中同时使用按钮和锚点是否可以或是否应该。像这样:

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

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

是的,在导航栏内使用按钮、锚点甚至 div 都完全可以,但您可以随心所欲地使用。您只需要习惯使用 css 和您所说的样式即可。那么你应该没有问题。这是否回答了您的问题?

任何 flow content elements are allowed in a nav 标签,包括按钮。

从可访问性的角度来看,同时使用链接和按钮是语义上正确的方法。这些链接将您带到另一个页面(或当前页面上的其他地方),按钮执行一个操作。当屏幕 reader 用户在同一

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

如果您确实需要,可以对所有元素使用 <a> 元素,但对于按钮,您可以包含 role="button" 属性,这在语义上等同于使用 <button>.

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