UI领域中常常听见的''modal''到底是什么?

2024-03-10 06:59

本文主要是介绍UI领域中常常听见的''modal''到底是什么?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

模态窗口其实就是个弹窗....

问题总结

用户需要采取操作或取消覆盖,直到他可以继续与原始页面进行交互, 这是最原始的modal定义, 本质上是页面在时间维度上的中断系统:

来自wiki百科:

Modals have been considered a UI anti-pattern. The main reason lies in the definition of a modal window: A window that prevents the user from interacting with your application until she closes the window1. Modal windows interrupt users and force them into doing a specific action. Arguably, in most cases, there is no need to force users into specific actions. As a result, modal windows introduce unnecessary pain points for your users.

modal原则上是要"暂停"一个app的应用进程, 但是有很多变种需求, 我们来一一分析一下子, 比如这张图:

 

▲ Newsletter 在Invision博客的中断模式窗口中显示。

 

特点

  • 当您想要中断用户当前任务时使用,以便让用户全神贯注于更重要的事情。
  • 不要用于显示错误,成功或警告消息
  • 提请注意重要的信息。这种用法被批评为无效,因为用户被太多的对话框轰炸,并且习惯于只是单击“关闭”,“取消”或“确定”而不阅读或理解该消息。
  • 阻塞应用程序流程,直到输入需要继续信息,例如在一个login过程。另一个示例是用于在应用程序中打开和保存文件的文件对话框。
  • 在集中式对话框中收集应用程序配置选项。在这种情况下,通常在关闭对话框时应用更改,并且在进行编辑时禁用对应用程序的访问。
  • 警告当前操作的影响不可逆。这是模态对话的频繁交互模式,但是一些可用性专家批评它对于因习惯使用而对其预期用途(防止破坏性行为中的错误)无效。他们建议改变行动(提供“撤消”选项).

解决方案

引入一种模式,在模式关闭之前,用户无法与您的应用程序进行交互。中断用户的注意并停止所有其他操作,直到处理或解除消息。

匹配的标题

匹配按钮文本与模态的标题增加了熟悉感。当模态引入新的中断模式时,用户可能无法将刚刚执行的操作与模式弹出连接起来。确保他们知道模态的来源。

允许逃跑

允许用户通过让他们在需要时关闭模态窗口来逃避该模式。关闭按钮的常用约定是右上角的“X”图标和/或模式窗口底部的“关闭”或“取消”按钮。该ESC键也往往是传统的键盘快捷键来关闭情态动词-所以点击模态窗口外。

合理性和安全性

modal的弹出通常会阻断线程,比如浏览器中的alert, 这虽然保证了安全性, 但是却闲置了cpu, 另一种方案中是使用后台沙盒程序, 必要的安全任务跑在后台, 但是阻隔一切用户操作; 另一方面在合理性上, 虽然modal有效地集中注意力,但是引入多种模式会带来引入模式错误的风险,其中用户忘记界面的状态并尝试执行适合于不同模式的动作。

讨论

模态被认为是UI反模式。主要原因在于模态窗口的定义:一个窗口,阻止用户在关闭窗口之前与应用程序交互。模态窗口会中断用户并强制他们执行特定操作。可以说,在大多数情况下,没有必要强迫用户采取特定的行动。因此,模态窗口会为您的用户带来不必要的痛点。

替代方案是无模式接口。允许用户随时改变主意的界面。不强制用户进入特定操作集的接口。

此外,模态在移动设备上不能很好地工作,因为它们会占用屏幕空间并引入额外的用户界面元素。

modal也是一种妥协的方式, 因为模态对话框是任务流的一部分,并给出了建议,将它们放在焦点在该流中的位置。例如,窗口可以放置在触发其激活的图形控制元素附近。 本身为了不破坏页面的完整性, 是不需要额外的窗口的, 但是随着用户需求的变态化, modal出现了.....

最后, 使用半透明的深色背景可能会遮挡主窗口中的信息,因此最好只在信息会分散注意力时使用。通过将整个背景区域用作关闭按钮,可以减少半透明背景:这是大多数移动操作系统的标准配置,避免让用户感到困惑,并使模态窗口感觉不像恶意弹出窗口。

 

参考链接:

1 Modal WIndow at Wikipedia.org

2 Design patterns for replacing modal windows by L. Mathis

 

这篇关于UI领域中常常听见的''modal''到底是什么?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/793423

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

PostgreSQL核心功能特性与使用领域及场景分析

PostgreSQL有什么优点? 开源和免费 PostgreSQL是一个开源的数据库管理系统,可以免费使用和修改。这降低了企业的成本,并为开发者提供了一个活跃的社区和丰富的资源。 高度兼容 PostgreSQL支持多种操作系统(如Linux、Windows、macOS等)和编程语言(如C、C++、Java、Python、Ruby等),并提供了多种接口(如JDBC、ODBC、ADO.NET等

Golang GUI入门——andlabs ui

官方不提供gui标准库,只好寻求第三方库。 https://github.com/google/gxui 这个gui库是谷歌内部人员提供的,并不是谷歌官方出品,现在停止维护,只好作罢。 第三方gui库 找了好多,也比较了好多,最终决定使用的是还是 https://github.com/andlabs/ui 相信golang gui还会发展的更好,期待更优秀的gui库 由于andlabs

CCF推荐C类会议和期刊总结(计算机网络领域)

CCF推荐C类会议和期刊总结(计算机网络领域) 在计算机网络领域,中国计算机学会(CCF)推荐的C类会议和期刊为研究者提供了广泛的学术交流平台。以下是对所有C类会议和期刊的总结,包括全称、出版社、dblp文献网址以及所属领域。 目录 CCF推荐C类会议和期刊总结(计算机网络领域) C类期刊 1. Ad Hoc Networks 2. CC 3. TNSM 4. IET Com

【H2O2|全栈】Markdown | Md 笔记到底如何使用?【前端 · HTML前置知识】

Markdown的一些杂谈 目录 Markdown的一些杂谈 前言 准备工作 认识.Md文件 为什么使用Md? 怎么使用Md? ​编辑 怎么看别人给我的Md文件? Md文件命令 切换模式 粗体、倾斜、下划线、删除线和荧光标记 分级标题 水平线 引用 无序和有序列表 ​编辑 任务清单 插入链接和图片 内嵌代码和代码块 表格 公式 其他 源代码 预

BERN2(生物医学领域)命名实体识别与命名规范化工具

BERN2: an advanced neural biomedical named entity recognition and normalization tool 《Bioinformatics》2022 1 摘要 NER和NEN:在生物医学自然语言处理中,NER和NEN是关键任务,它们使得从生物医学文献中自动提取实体(如疾病和药物)成为可能。 BERN2:BERN2是一个工具,

移动UI:分类列表页、筛选页的设计揭秘。

移动UI的列表页设计需要考虑用户体验和界面美观性,以下是一些建议的设计要点: 1. 列表项的展示: 列表页应该清晰地展示各个列表项,包括标题、副标题、缩略图等内容,以便用户快速浏览和识别。可以使用卡片式布局或者简洁的列表布局。 2. 搜索和筛选: 如果列表项较多,应该提供搜索和筛选功能,方便用户查找感兴趣的内容。搜索框和筛选条件可以放置在页面顶部或者底部,以便用户方便操作。

UI自动化测试常见面试题

1、什么是UI自动化测试? UI自动化测试是一种通过模拟用户交互并自动执行UI操作的软件测试方法。它用于验证用户界面的功能和稳定性,以确保在不同的操作系统、浏览器和设备上的一致性。 2、UI自动化测试的优势和劣势是什么? 优势: 可以节省时间和成本,提高测试效率。 可以自动执行大量的重复测试任务,减少人为错误。 可以实现广泛的测试覆盖,包括不同的操作系统、浏览器和设备。 可以提供稳定

PMBOK® 第六版 项目进度管理知识领域

目录 读后感—PMBOK第六版 目录 提到“进度”,大家都能直观理解其含义。有统计指出,现在项目的延迟交付比例越来越高,并且这一趋势持续上升。造成项目延期的原因是多方面的,常见的原因之一是在项目初期,由于时间充裕,往往会做一些与项目无关或超出项目范围的工作,导致项目后期不得不疯狂赶工。 另一种常见问题是过分关注单个活动的精确执行,而忽略了对整个项目进度的宏观把控,这种做法可能会导致团队失

element-ui打包之后图标不显示,woff、ttf加载404

1、bug 起因 昨天在 vue 项目中编写 element-ui 的树形结构的表格,发现项目中无法生效,定位问题之后发现项目使用的 element-ui 的版本是 2.4.11 。看了官方最新版本是 2.15.14,然后得知 2.4.11 版本是不支持表格树形结构的。于是决定升级 element-ui 的版本,方便后续的开发。 升级之后本地简单的过了一遍系统功能,并没有发现有什么不妥,于