Javascript 对单页web应用程序使用按钮而不是链接

Javascript 对单页web应用程序使用按钮而不是链接,javascript,html,css,semantic-markup,Javascript,Html,Css,Semantic Markup,我正在创建一个web应用程序,它有一个命令列表,可以更改单个页面上的元素。该页面100%依赖于JavaScript。因此,我将这些链接编码为: <a href="#">Command #1</a> 我怀疑这在语义上是正确的,于是发现很多地方都说我应该使用按钮 这是有道理的,但这意味着我必须改变按钮的样式,使其看起来像一个链接,这让人感觉很不舒服。这是正确的方法吗?我不认为使用链接在语义上是不正确的。如果它能让你感觉更好,你可以把你的链接设计成按钮 否则,如果这仍然让

我正在创建一个web应用程序,它有一个命令列表,可以更改单个页面上的元素。该页面100%依赖于JavaScript。因此,我将这些链接编码为:

<a href="#">Command #1</a>

我怀疑这在语义上是正确的,于是发现很多地方都说我应该使用
按钮


这是有道理的,但这意味着我必须改变按钮的样式,使其看起来像一个链接,这让人感觉很不舒服。这是正确的方法吗?

我不认为使用链接在语义上是不正确的。如果它能让你感觉更好,你可以把你的链接设计成按钮

否则,如果这仍然让你感觉不对劲,那么把按钮设计成链接也没什么错。你的应用程序的功能应该与你如何展示你的按钮没有多大关系,只要它们做同样的事情并且符合你的期望


如注释中所述,如果您希望使用按钮,请记住它们的样式为表单元素,并且可能比使用锚定标记更困难

我不认为使用链接在语义上是不正确的。如果它能让你感觉更好,你可以把你的链接设计成按钮

否则,如果这仍然让你感觉不对劲,那么把按钮设计成链接也没什么错。你的应用程序的功能应该与你如何展示你的按钮没有多大关系,只要它们做同样的事情并且符合你的期望


如注释中所述,如果您希望使用按钮,请记住它们的样式为表单元素,并且可能比使用锚定标记更困难

您为元素指定的样式与它是否是语义正确的代码无关,因此我不太担心这一点

链接
是指在网页之间链接用户

HTML
Input
元素用于接受用户输入并使用它们进行操作


基于这个简单的启发,我想说,用一个按钮

您为元素指定的样式与它是否是语义正确的代码无关,因此我不太担心这一点

链接
是指在网页之间链接用户

HTML
Input
元素用于接受用户输入并使用它们进行操作


基于这个简单的启发,我想说,用一个按钮

两者在技术上都可以使用。对我来说,如果是文本链接,那么我会使用
标记,如果是表单按钮或图像,则使用
。这样,您就可以与元素的预期用途保持一致。

两者在技术上都可以使用。对我来说,如果是文本链接,那么我会使用
标记,如果是表单按钮或图像,则使用
。这样,您就与元素的预期用途保持一致。

一般来说,我更喜欢使用div来实现这些功能。链接具有许多固有的浏览器样式,按钮更是如此。Div的唯一规则是display:block。所以它为我节省了一些重置css行。此外,它还为我节省了一些js代码,以防止出现默认行为。再加上没有正确的语义选择,那么使用div就很有意义了。

一般来说,我更喜欢使用div来处理这些事情。链接具有许多固有的浏览器样式,按钮更是如此。Div的唯一规则是display:block。所以它为我节省了一些重置css行。此外,它还为我节省了一些js代码,以防止出现默认行为。再加上没有正确的语义选择,那么使用div就很有意义了。

HTML5规范非常清楚,您不应该使用:

如果
a
元素具有
href
属性,则它表示超链接(超文本锚定)

最重要的是:

这些是指向其他资源的链接[…]

因此,不要在单页web应用程序上使用
a
进行“操作”

你应该和他们一起去。(我想用
按钮的
类型
值来表示两者)

如果你喜欢钻研更新的HTML5,看看和



当然:你不应该用JS来“增强”其他元素(比如
span
div
),让它们像链接/按钮一样。如果没有进一步的工作,这将是不可访问的。

HTML5规范非常清楚,您不应该使用:

如果
a
元素具有
href
属性,则它表示超链接(超文本锚定)

最重要的是:

这些是指向其他资源的链接[…]

因此,不要在单页web应用程序上使用
a
进行“操作”

你应该和他们一起去。(我想用
按钮的
类型
值来表示两者)

如果你喜欢钻研更新的HTML5,看看和



当然:你不应该用JS来“增强”其他元素(比如
span
div
),让它们像链接/按钮一样。如果没有进一步的工作,这将是不可访问的。

或将
设置为链接样式。同时请记住,在调整大小时,
按钮
元素的样式类似于表单控件。有时,如果您最初使用非表单元素(如
a
标记)或将
设置为链接样式,则需要更多的工作才能使
按钮或
提交/重置的
输入与其他元素对齐。另外,请记住
按钮
元素在出现时与表单控件样式类似调整尺寸。有时,如果您最初使用的是非表单元素,如
a
标记,则需要更多的工作才能获得
按钮或
提交/重置的
输入
,以与其他元素对齐。键盘用户如何激活您的“
div
按钮”?这对于可访问性来说是一个糟糕的做法。如果您的推理是默认样式,请尝试使用css重置。键盘用户是如何操作的