一页应用程序应该只包含按钮吗?

时间:2013-06-09 20:20:17

标签: html5 button anchor semantics

我正在编写一个单页商店应用程序,我像往常一样使用普通的锚标签设置菜单,因为它是这样设计的。然而,虽然我将实现浏览器历史记录,但我也会阻止默认并将其视为按钮,只需打开一个新视图。

是否应重新设计菜单以显示按钮而非锚标签。这是熟悉与实际功能(以及语义正确性,我相信)。

1 个答案:

答案 0 :(得分:4)

我们来咨询the spec.

什么是<a>元素?

  

如果a元素具有href属性,则它表示由其内容标记的超链接(超文本锚)。

     

如果a元素没有href属性,那么该元素表示一个占位符,用于放置链接的位置(如果它是相关的),仅包含元素的内容。

<button>元素怎么样?

  

button元素表示按其内容标记的按钮。

那是什么意思?

如果您在导航中表示实际链接(即使它使用HTML5历史记录API),我说使用<a>元素。如果不是,使用<button>可能会更好。

对于导航,我可能会使用a标记。

语义HTML不是这里唯一的问题

另一个问题是搜索引擎优化,像GoogleBot这样的抓取工具可以更容易地确定他们应该遵循a链接而不是button