首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >滥用<A>标签

滥用<A>标签
EN

Stack Overflow用户
提问于 2015-02-23 17:18:41
回答 2查看 189关注 0票数 2

据我所知,< A >标记是“锚”标记,它有三个目的:

1)描述并命名页面<a name="foo"/>上的项目

2)当单击<a href="http://www.yahoo.com">Yahoo!</a>时,将用户发送到另一个页面

3)当单击<a href="#foo">Foo!</a>时,将用户发送到同一页面中的另一个位置

有人向我解释说,< a >标记是跨浏览器通用处理的唯一的触摸/单击事件,为了实现这种兼容性,我们需要劫持它。我对此表示怀疑--如果浏览器能够显示使用JQuery (和CSS2 2/3!)的网站,浏览器也应该能够处理自定义的onclick()事件,而不需要锚点标记。

现在,使用<A>标记处理所有可单击的事件已成为项目中的标准操作过程。在代码中,我们必须防止默认(否则页面跳转到顶部),然后处理愉快的业务。我强烈认为这是滥用标记的目的,就像一些框架劫持<i>标记以显示图标一样。

IMO,如果您想要一个可选择的LI列表,您将为每个LI项分配一个"onclick“事件处理程序。因为没有默认操作,所以没有必要担心防止违约。

因为这是StackOverflow,所以我需要回答一个问题:这是目前规定的滥用< A >标记的行为吗?

编辑:为了便于访问(能够通过对象(A允许但LI不允许)选项卡),这篇关于在安莉上设置StackOverflow的TabIndex帖子看起来很有希望:

HTML tabindex属性是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-23 17:25:14

通过使用jQuery,您可以on('click',callback)任何元素。

只使用a元素可能是出于可访问性的目的(例如,告诉屏幕阅读器这个元素是为了做一些有趣的事情)。

票数 2
EN

Stack Overflow用户

发布于 2015-02-23 17:25:19

是的,这是一种虐待。

我会解释一下关于语义HTML的事情。每个标记都有使用它的目的和上下文。

顺便说一句,图标使用<i>并不一定是滥用。强烈建议采用斜体样式的CSS。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28679482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档