您当前的位置:首页 > 电脑百科 > 程序开发 > 编程百科

前端如何提高用户体验:增强可点击区域的大小

时间:2020-07-06 09:52:21  来源:  作者:

你是否曾经试着点击或点击一个元素(例如:按钮、链接),并且注意到只有单击该元素的特定区域,它才会响应?

必生这种情况是因为可点击区域未应用于整个元素。为了更加清楚,请参见下图,左图可点击区别(圈红部分)明显比右图的小很多,所以右图的实现用户体验会更好。

前端如何提高用户体验:增强可点击区域的大小

 

对于本文,会介绍一些事例,并通过事例演示如何增加可点击区别,提高用户体验。

WCAG准则

WCAG全称Web Content Accessibility Guidelines 网页内容无障碍浏览准则,简单的说就是为了方便残障人士(包括低视患者,盲人,聋人,学习障碍,行动不便,认知障碍....)访问Web内容而制定的相关标准,可以使网站更加人性化。

举个例子,在WCAG准则2.3.2中规定:网页不包含任何闪光超过3次/秒的内容。

用户应该能够使用台式机/笔记本电脑上的键盘以及移动设备或平板电脑上的触摸屏来操作输入。不要在移动设备屏幕上将按钮设置得太小,以免按下正确的按钮。触摸目标的最小尺寸最好至少为44 x 44像素。

费兹法则

**费兹法则(Fitts law)**是一个人机互动以及人体工程学中人类活动的模型;它预测了快速移动到目标区域所需的时间是目标区域的距离和目标区域大小的函数。

在下面的图中,我模拟了两个按钮的不同情况。在左侧,按钮更小,更远,用户需要更多的时间与它互动。在右侧,按钮大小更大,更接近于它的同级输入元素,这将使交互更容易、更快。

前端如何提高用户体验:增强可点击区域的大小

 

接着,我们再来看看一些更加真实例子。注意:记住WCAG准则 和费兹法则 的概念。

按钮

在需要时使用实际真实<button>(包含可点击区域)非常重要。下面的示例来自我使用的在线银行系统:

<div class="navig next" onclick="validateLogin()">Next</div>

这是上面按钮的html的GIF图像。我把鼠标悬停在按钮上,光标仍然是一个指针,这很好。不过,我也可以选择文本和悬停时,有一个文本光标!如果使用了正确的元素,就不会发生这种情况。

前端如何提高用户体验:增强可点击区域的大小

 

当使用HTML<button>元素时,会获得下面效果:

  • 可通过鼠标,键盘或触摸访问
  • 可以通过键盘选中
  • 有对应的 JAVAScript 方法

有些元素,我们需要添加 padding,原因有二:

  • 让它更美观
  • 让它变大,这样更容易被注意到
前端如何提高用户体验:增强可点击区域的大小

 

链接

之前在做导航的时候,犯了一个错误,应该是给 a 标签添加 padding 而不是 li:

<nav>
  <ul>
    <li class="nav-item"><a href="#">Home</a></li>
    <li class="nav-item"><nav href="#">Products</nav></li>
    <li class="nav-item"><a href="#">Store</a></li>
    <li class="nav-item"><a href="#">Team</a></li>
  </ul>
</nav>

// css

.nav-item {
  padding: 12px 16px;
}

基于上面的HTML和CSS,可点击的区域将只是文本,如下图所示:

前端如何提高用户体验:增强可点击区域的大小

 

正确的方法是在a 标签本身上添加padding。请注意,默认情况下,padding 需要块元素才有效,而 a 标签是行内元素,所以可以给 a 标签设置block,inline-element或 flex。

.nav-item a {
  display: block;
  padding: 12px 16px;
}

添加了上面的样式后,可点击的效果如下:

前端如何提高用户体验:增强可点击区域的大小

 

面包屑导航

假设可点击区域如下所示:

前端如何提高用户体验:增强可点击区域的大小

 

这种体验不是很好,鼠标或手指指向屏幕上如此小的目标会比较难。在下图中,它的可点击区域更大并且更易于交互。

前端如何提高用户体验:增强可点击区域的大小

 

事例源码:https://codepen.io/shadeed/pen/PMygee

复选框和单选按钮

当存在复选框或单选按钮元素时,我希望可以单击它或关联的标签来激活/禁用它。

前端如何提高用户体验:增强可点击区域的大小

 

从用户体验的角度来看,这是难以访问和糟糕的。在 HTML 中,可以使用for属性将标签与输入框绑定在一起。

<input type="checkbox" id="option1">
<label for="option1">Option 1</label>

或者可以将输入框放置在标签内:

<label for="option1">
    Option 1
    <input type="checkbox" id="option1">
</label>

然后,在<label>元素上添加padding,以使可点击区域变大。这样,问题得以解决,整个复选框或单选按钮都是可单击的,如下图所

前端如何提高用户体验:增强可点击区域的大小

 

侧边栏

对于带有类别的页面,有时我会注意到列表链接没有扩展到其父页面的整个宽度。也就是说,可点击区域仅在文本上,如下图所示:

前端如何提高用户体验:增强可点击区域的大小

 

解决方法:

  • 删除<li>元素的 padding,并将其移动到<a>元素
  • 通过添加display: block使a标签的宽度等于其父链接的宽度。
.nav-item a {
    /*Other styles*/
    padding: 12px 16px;
    display: block;
}

添加后,如下所示:

前端如何提高用户体验:增强可点击区域的大小

 

真实案例

在最近的Twitter更新中,导航设计在可点击区域大小方面存在问题。最初,它仅与文本相关,如下面的屏幕截图所示,但他们在收到反馈后将其修复。

前端如何提高用户体验:增强可点击区域的大小

 

章节标题

在某些情况下,需要在章节标题的远端添加“查看更多”按钮或箭头。在下面的示例中,我将箭头放置在假圆中,以便可以正确地使箭头居中。

通常情况下,箭头周围的间距可以使用padding或width和height。

前端如何提高用户体验:增强可点击区域的大小

 

使用伪元素来增加可点击区域

仅通过改变元素的宽度和高度或使用padding,并不总是能够使可点击区域变大,这时候就需要伪元素救场了。

这个想法是,伪元素属于其父元素,因此当我们创建具有特定宽度和高度的伪元素时,它将充当其父元素的单击/触摸/悬停区域。

在下图中,我在菜单按钮中添加了:after伪元素:

.menu-2:after {
  content: "";
  position: absolute;
  left: 55px;
  top: 0;
  width: 50px;
  height: 50px;
  background: #e83474;
  /*Other styles*/
}
前端如何提高用户体验:增强可点击区域的大小

 

事例源码:https://codepen.io/shadeed/pen/BXXjEg?editors=0100


作者:Ahmad Shadded 译者:前端小智 来源:css-tricks

原文:https://css-tricks.com/enhancing-the-clickable-area-size/



Tags:用户体验   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
在设计中视觉表达很重要,但还有一件事也很重要,就是文案。我们都了解,讲话要有重点,别人才知道你在传达什么样的信息。而如何遣词用句,则会影响你的表达效果。文字使用的正确与否...【详细内容】
2020-09-01  Tags: 用户体验  点击:(184)  评论:(0)  加入收藏
核心摘要:研究背景:移动平台的用户端倾向形式更丰富、信息传递维度更高的内容,趋向“品质+社交+自我价值强化” 交互;广告主对于广告的品质要求提升;广告投放平台希望通过共鸣赢...【详细内容】
2020-08-10  Tags: 用户体验  点击:(99)  评论:(0)  加入收藏
你是否曾经试着点击或点击一个元素(例如:按钮、链接),并且注意到只有单击该元素的特定区域,它才会响应?必生这种情况是因为可点击区域未应用于整个元素。为了更加清楚,请参见下...【详细内容】
2020-07-06  Tags: 用户体验  点击:(52)  评论:(0)  加入收藏
最近我在网上浏览网站的时候,发现了一个企业的网站做的特别美观,给人的视觉体验特别棒,当时想着哎呦这网站做的真可以哦,但是当我具体想观看他的主体内容的时候,发现操作起来云里...【详细内容】
2020-03-11  Tags: 用户体验  点击:(85)  评论:(0)  加入收藏
网站建设和网站运营通常是两个团队的工作,顺序是网站建设由一个公司完成,网站运营换成另一个公司,你做的你的,我运营我的,二者之间“老死不相往来”,如今这种声音越发的弱了,因为在...【详细内容】
2020-01-07  Tags: 用户体验  点击:(58)  评论:(0)  加入收藏
做SEO优化第一步:初步了解SEO的作用很多人做了几年SEO,会的还是一些基础优化,比如锚文本、外链、加友链之类,有时候排名好,有时候排名差,实际学会的并不多。今天我们就来聊一聊se...【详细内容】
2020-01-07  Tags: 用户体验  点击:(52)  评论:(0)  加入收藏
为啥看起来很差的网站排名却那么靠前?做seo做了很久,有时候能够发现有趣的一个问题,就是有一些看起来不怎么样的网站,网站的结构不是很好、内容更新时间间隔大、优化布局一般的...【详细内容】
2020-01-06  Tags: 用户体验  点击:(59)  评论:(0)  加入收藏
用户体验很重要,因为这是你的品牌与客户互动的方式,是信息的展示方式,决定着你的信息是否有意义。用户体验很重要,用户在你网站上的停留时间决定着他们是成为你的忠实客户,或是...【详细内容】
2019-09-27  Tags: 用户体验  点击:(115)  评论:(0)  加入收藏
写在前面指纹识别大家都不陌生,现在比较新的安卓手机大多都已经支持面部识别了,指纹识别更是主流安卓手机的标配功能。这两个功能可以说用过都说好,确实是方便快捷。不过大家...【详细内容】
2019-07-30  Tags: 用户体验  点击:(318)  评论:(0)  加入收藏
▌简易百科推荐
本文分为三个等级自顶向下地分析了glibc中内存分配与回收的过程。本文不过度关注细节,因此只是分别从arena层次、bin层次、chunk层次进行图解,而不涉及有关指针的具体操作。前...【详细内容】
2021-12-28  linux技术栈    Tags:glibc   点击:(3)  评论:(0)  加入收藏
摘 要 (OF作品展示)OF之前介绍了用python实现数据可视化、数据分析及一些小项目,但基本都是后端的知识。想要做一个好看的可视化大屏,我们还要学一些前端的知识(vue),网上有很多比...【详细内容】
2021-12-27  项目与数据管理    Tags:Vue   点击:(2)  评论:(0)  加入收藏
程序是如何被执行的&emsp;&emsp;程序是如何被执行的?许多开发者可能也没法回答这个问题,大多数人更注重的是如何编写程序,却不会太注意编写好的程序是如何被运行,这并不是一个好...【详细内容】
2021-12-23  IT学习日记    Tags:程序   点击:(9)  评论:(0)  加入收藏
阅读收获✔️1. 了解单点登录实现原理✔️2. 掌握快速使用xxl-sso接入单点登录功能一、早期的多系统登录解决方案 单系统登录解决方案的核心是cookie,cookie携带会话id在浏览器...【详细内容】
2021-12-23  程序yuan    Tags:单点登录(   点击:(8)  评论:(0)  加入收藏
下载Eclipse RCP IDE如果你电脑上还没有安装Eclipse,那么请到这里下载对应版本的软件进行安装。具体的安装步骤就不在这赘述了。创建第一个标准Eclipse RCP应用(总共分为六步)1...【详细内容】
2021-12-22  阿福ChrisYuan    Tags:RCP应用   点击:(7)  评论:(0)  加入收藏
今天想简单聊一聊 Token 的 Value Capture,就是币的价值问题。首先说明啊,这个话题包含的内容非常之光,Token 的经济学设计也可以包含诸多问题,所以几乎不可能把这个问题说的清...【详细内容】
2021-12-21  唐少华TSH    Tags:Token   点击:(10)  评论:(0)  加入收藏
实现效果:假如有10条数据,分组展示,默认在当前页面展示4个,点击换一批,从第5个开始继续展示,到最后一组,再重新返回到第一组 data() { return { qList: [], //处理后...【详细内容】
2021-12-17  Mason程    Tags:VUE   点击:(14)  评论:(0)  加入收藏
什么是性能调优?(what) 为什么需要性能调优?(why) 什么时候需要性能调优?(when) 什么地方需要性能调优?(where) 什么时候来进行性能调优?(who) 怎么样进行性能调优?(How) 硬件配...【详细内容】
2021-12-16  软件测试小p    Tags:性能调优   点击:(20)  评论:(0)  加入收藏
Tasker 是一款适用于 Android 设备的高级自动化应用,它可以通过脚本让重复性的操作自动运行,提高效率。 不知道从哪里听说的抖音 app 会导致 OLED 屏幕烧屏。于是就现学现卖,自...【详细内容】
2021-12-15  ITBang    Tags:抖音防烧屏   点击:(25)  评论:(0)  加入收藏
11 月 23 日,Rust Moderation Team(审核团队)在 GitHub 上发布了辞职公告,即刻生效。根据公告,审核团队集体辞职是为了抗议 Rust 核心团队(Core team)在执行社区行为准则和标准上...【详细内容】
2021-12-15  InfoQ    Tags:Rust   点击:(25)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条