导航按钮而不是锚点?

时间:2019-03-14 20:05:40

标签: html hyperlink accessibility semantic-markup htmlbutton

我一直在阅读网络可访问性,并读到只有在将用户带到没有JavaScript的另一个URL时,才应使用定位标记。但是,只要有其他行为发生,例如打开模式,就应该使用按钮。

所以我想知道是否可以,或者希望在导航栏中同时包含按钮和锚点。像这样:

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

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

4 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

是的,在导航栏中使用按钮,锚点或div完全可以,但是您希望可以这样做。您只需要习惯使用说的CSS和样式即可。那你应该没问题。可以回答您的问题吗?

答案 2 :(得分:1)

flow content标记中允许任何nav元素,其中包括按钮。

答案 3 :(得分:0)

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

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

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