是否可以使用锚标记而不包括href属性,而是使用JavaScript单击事件处理程序?因此我将完全省略href,甚至不让它为空(href="")。
当前回答
只需在您的工作组件中添加波纹管代码以删除此警告,就是这样。
/* eslint-disable jsx-a11y/anchor-is-valid */
其他回答
我的建议是使用<a href="#"></a>
如果你正在使用JQuery,还记得使用:
.click(function(event){
event.preventDefault();
// Click code here...
});
从可访问性的角度来看,<没有href的>不是可选项卡的,所有链接都应该是可选项卡的,所以如果你没有href,添加一个tabindex='0"。
在某些浏览器中,如果你没有给出href属性,你会遇到问题。我建议你这样写代码:
<a href="#" onclick="yourcode();return false;">Link</a>
你可以用你自己的函数或逻辑替换code(),但记得添加return false;最后的声明。
简单的回答:不。
长一点的回答:
首先,如果没有href属性,它就不是链接。如果它不是一个链接,那么它就不会是键盘(或呼吸开关,或各种其他不是基于指针的输入设备)可访问的(除非你使用HTML 5的tabindex功能,这不是普遍支持的)。控件不具有键盘访问权限是非常罕见的。
第二。当JavaScript无法运行时(因为从服务器加载很慢,Internet连接中断(例如移动火车上的移动信号),JS被关闭,等等),你应该有一个替代方案。
通过不引人注目的JS使用渐进增强。
如果你必须使用href来实现向后兼容性,你也可以使用
<a href="javascript:void(0)">link</a>
如果您不想使用该属性,则可以使用#
推荐文章
- 为什么我的CSS3媒体查询不能在移动设备上工作?
- 下一个元素的CSS选择器语法是什么?
- 我如何用CSS跨浏览器绘制垂直文本?
- 如何获得box-shadow在左侧和右侧
- 相对定位一个元素,而不占用文档流中的空间
- 如何在jQuery检索复选框值
- 禁用身体滚动
- 如何在删除前显示确认消息?
- 在一个CSS宽度的小数点后的位置是尊重?
- 我怎么能选择一个特定的类的最后一个元素,而不是父里面的最后一个孩子?
- 反应:为什么当道具改变时子组件不更新
- 我怎么能检查html元素,从DOM消失失去焦点?
- 在Atom编辑器中是否有格式化HTML的命令?
- 把<script>标签放在</body>标签之后是错误的吗?
- 谷歌Chrome表单自动填充和它的黄色背景