首页 > 其他分享 >关于 HTML 元素是否能够正确响应用户点击事件的讨论

关于 HTML 元素是否能够正确响应用户点击事件的讨论

时间:2023-10-03 22:55:31浏览次数:26  
标签:正确 元素 用户 响应 点击 HTML 事件

已知两组 HTML 元素:

<input disabled />,
<button tabindex="0">,
<button (click)="foo($event)"></button>
<div tabindex="0"></div>,
<p (click)="foo($event)"></p>
<li role="checkbox" (keyup)="bar($event)"></li>

第一组正确的元素:

  1. <input disabled />: 这是一个正确的元素,因为它是一个表单元素,并且设置了disabled属性。disabled属性会禁用该输入框,使其不响应用户的点击事件。因此,用户无法在禁用状态下对其进行交互,这是合理的。

  2. <button tabindex="0">: 这是一个正确的元素,因为它是一个按钮元素,并且设置了tabindex属性为0。tabindex属性定义了元素在通过键盘导航时的顺序,值为0表示它是可聚焦的,并且可以通过键盘导航来选择。用户可以使用键盘上的Tab键将焦点移到这个按钮上,然后按Enter或空格键来触发点击事件。

  3. <button (click)="foo($event)"></button>: 这也是一个正确的元素,因为它是一个按钮元素,并且设置了点击事件处理器(click)="foo($event)"。这意味着当用户点击这个按钮时,将调用名为foo的JavaScript函数,并传递一个事件对象作为参数。这允许开发人员在用户点击按钮时执行自定义的JavaScript操作。

现在,让我们来看看第二组错误的元素:

  1. <div tabindex="0"></div>: 这是一个错误的元素,因为它是一个<div>元素,它通常用于布局和分隔内容,而不是用于用户交互。虽然它设置了tabindex属性为0,使其可聚焦,但用户点击它时并不会触发任何默认行为或事件,因为<div>元素不具备点击事件的默认行为。这可能会引起用户的困惑,因为他们可能期望这个元素会执行某种操作,但实际上它不会有任何响应。

  2. <p (click)="foo($event)"></p>: 这也是一个错误的元素,因为<p>元素是用于段落文本的,不应该用于用户交互。虽然它设置了点击事件处理器(click)="foo($event)",但这并不是<p>元素的正确用法。用户点击段落文本时通常不会期望触发任何自定义操作,而且这可能导致不一致的用户体验。

  3. <li role="checkbox" (keyup)="bar($event)"></li>: 这也是一个错误的元素,因为虽然它设置了role属性为"checkbox",表示它具有复选框的角色,但它并不是一个标准的HTML复选框元素(如<input type="checkbox">)。同时,它设置了键盘事件处理器(keyup)="bar($event)",这也是不恰当的,因为用户通常期望与复选框交互的方式是通过鼠标点击,而不是通过键盘事件。这种不一致的行为可能会使用户感到困惑。

总的来说,第一组元素是正确的,因为它们在HTML语义上和用户期望的行为上是一致的,而第二组元素是错误的,因为它们不符合HTML元素的语义和用户交互的期望。正确使用HTML元素和属性对于构建具有一致且可预测行为的用户界面至关重要。

标签:正确,元素,用户,响应,点击,HTML,事件
From: https://www.cnblogs.com/sap-jerry/p/17741786.html

相关文章

  • HTML Canvas 画布
      HTML <canvas>画布元素用于通过脚本(通常是JavaScript)动态绘制图形。 <canvas> 画布元素只是图形的容器。您必须使用脚本来实际绘制图形。 <canvas>有几种用于绘制路径、框、圆、文本和添加图像的方法。绘制canvas<!DOCTYPEhtml><htmllang="en"><head><met......
  • 使用Springboot实现点击名称跳转到详情页面
    终于解决出来啦!!!嘎嘎嘎嘎~~~只需要在td标签里面嵌套上a标签就能实现啦!这里主要看一下功能,页面直接使用的白板~html页面的具体代码如下(将超链接标签a的样式进行了美化):<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>主界面</title></head>......
  • [回顾-前端]从简陋的html到单网页再到全栈开发
    ......
  • 关于Servlet和Filter设置响应头生效问题
    一开始我一直觉得无论Servlet中设置的什么响应头,生效的都是Filter中设置的。因为响应回到客户端前也会经过Filter之后测试发现响应经过过滤器时不是重新执行一遍过滤器中的代码,而是执行doFilter()方法之后的代码Filter: Servlet: 运行结果: 在前端也发现响应回来的编码......
  • HTML学习笔记
    一、标签在html中每个标签都是成对存在例如:<html> <body>HelloCSDN!</body></html>二、属性写在<>里面的用来定义功能的作用例如:<h2style="background-clolor:red;text-align:center">Helloworld!</h2&......
  • 深航电企业评价评级系统可视化(HTML,CSS,JS)
    一.项目背景深航电企业评价评级系统EERS是一款企业绩效评价平台,旨在为企业提供科学、全面、精准的绩效评价服务,帮助企业发现问题、改进管理,提高整体绩效。EERS评级系统借助大数据、云计算、人工智能等现代技术手段,将企业绩效数据进行多维度、系统化、动态化分析,为企业提供可视化......
  • Windows系统相关无响应(记录)
    开机很慢,按任何win快捷键都呼不出窗口,包括win+r、win+x、win(重启也没用);但桌面应用能正常开,.bat也可以照常执行,右键壁纸也可以出现界面(但点控制面板有关直接报错)这直接给我人淦懵了(我大部分软件都是靠按win搜索开的,所以cmd也开不开)但在我用edge找资料的时候就莫名其妙的好......
  • HtmlReview
    超链接<aherf=""target=""></a>//target有两种模式_self(原窗口,默认)和_blank(新窗口)超链接+锚点<aherf="#momo">标题</a><h1id="momo">详情内容</h1>常用特殊字符大于&gt小于&lt空格&nbsp表格<table>......
  • Html和Css中的一些属性
    1、alt属性:alt属性是一个用于网页语言HTML和XHTML、为输出纯文字的参数属性,作用是当HTML元素本身的物件无法被渲染时,就显示alt(替换)文字作为一种补救措施。<imgclass="project_img"src="@/assets/music_project.jpg"alt="演示图"/>上面的代码就是如果图片加载不出来,那么就......
  • 不能显式拦截ajax请求的302响应?
    记录工作中早该加深印象的一个小case:ajax请求不能显式拦截302响应。我们先来看一个常规的登录case:浏览器请求资源,服务器发现该请求未携带相关凭据(cookie或者token)服务器响应302,并在响应头Location写入重定向地址,指示浏览器跳转到登录页浏览器跳转到登录页,提交身份信息,回......