UI 学习 二 可访问性 模式

一 颜色对比

颜色和对比度可以用来帮助用户看到和理解应用程序的内容,与正确的元素交互,并理解操作。

颜色可以帮助传达情绪、语气和关键信息。可以选择主色辅助色强调色来支持可用性。元素之间足够的颜色对比可以帮助低视力的用户看到和使用你的应用程序。

颜色3:1 指的是色彩HSB中H基本一致的情况下S是3:1。即色相相同,饱和度是3:1关系。

颜色1 #9CD67D  H:99 S:42 B:84 ; 颜色2  #1A1C18  H:90 S:14 B:11。可见颜色1的饱和度是颜色2的三倍。

1.1 对比比率

颜色对比对于用户区分各种文本和非文本元素非常重要。较高的对比度使图像更容易看到,而低对比度的图像可能对一些用户在明亮或低光条件下(例如在阳光明媚的白天或晚上)难以区分。


对比度表示一种颜色与另一种颜色的不同程度,通常写成1:1或21:1。两个数字在比例上的差别越大,颜色之间相对亮度的差别就越大。根据万维网联盟(W3C),颜色与其背景之间的对比度根据其亮度(发出的光的强度)在1-21之间。

W3C建议正文和图像文本使用以下对比度

文字类型色彩对比度
大字体(加粗14pt /楷体18pt及以上)和图形颜色:背景  =  3:1
小字颜色:背景 = 4.5:1

1.2 聚类元素

一些非文本元素,如按钮容器,其容器颜色和背景颜色之间的对比度应该达到3:1。考虑以下组合元素和色调的模式,这些模式基于Material对元素组合时的对比和功能变化的研究。

与其他元素聚集在一起的元素,比如一组按钮,需要用户从组中区分每个元素。

根据色彩的比率3:1,使得元素易于分辨。

颜色比小于3:1,元素体现不明显。

 颜色比大于等于3:1,元素易于识别。

独立于屏幕上其他元素的元素,如悬浮按钮等,由于其突出性,用户已经可以区分出来。这些元素不适用颜色比3:1,仅3:1则和以上元素不能区分,即元素区分的不够明显。

如图所示,悬浮按钮和背景并不特别明显的区别。

颜色1: #205107 H:100 S:91 B:32;颜色2: #1AC8 H:90 S:14 B:11。饱和度比大于3:1,但是看起来还是不明显。

当在集群中放置组件时,使用组件或组件类型,每个组件与背景之间的对比度至少为3:1。

每个按钮的容器颜色不符合UI背景的对比度标准,导致对低视力用户的对比度支持不足。

每个按钮的容器颜色都通过了UI背景的对比度标准,从而为低视力的用户提供了足够的对比度支持。

二 文字调整

2.1 背景

视力低下的人或喜欢大文本的人必须能够在UI中缩放文本的大小。这种调整通常通过设备操作系统设置或应用内选项来执行。

ui应该支持最小200%的文本增长。

大多数组件在调整文本大小时的行为是相同的:

  1. 文本和行高按比例缩放,乘以缩放值
  2. 填充保持为默认大小的1倍
  3. 组件中元素之间的间距保持不变,为默认大小的1倍

按钮文本以1x, 1.3x和2x比例显示。所有的顶部和底部填充为8dp。

 随着文本大小的增加,左右内边距保持恒定在24dp。

当文本大小调整不受设备操作系统控制时,提供1.5倍或2x等乘数以允许用户增加文本大小。要使用乘数计算字体的大小,请使用默认字体大小,以其乘以缩放值。

 例如,如果一个字体在1x比例下是14pt,那么当放大到2x比例时,字体大小应该是28pt: (14pt) x(比例值2)= 28。

不包含文本的组件,如进度指示器、复选框或单选按钮,不受文本大小调整的影响。

 错误样例,在设计文本调整大小时,不要调整没有文本的组件的大小。

图标字体,比如标签<i/>,应该也是跟随字体放大。其毕竟也称为图标字体,大概不算组件。

 左侧字体为1x,右侧是2x。UI文本以2x显示,其中只有文本和行高被放大;组件之间的填充与1x UI保持相同。

2.2 处理办法

通过增加容器大小、回流布局、启用滚动和添加工具提示来避免常见的文本大小调整问题。

错误示例:

  1. 无反应的容器;无意删节的文本
  2. 无反应的文本
  3. 重叠的元素
  4. 不必要的截断

2.2.1 增加容器尺寸

调整容器大小可以防止文本重叠、剪切或截断。

考虑一下文本如何以一种允许眼睛跟随一行的末尾到下一行的开头的方式回流。

  1. UI显示在1x处:按钮并排放置在标准布局中。
  2. UI显示在2x:按钮堆叠以适应文本大小调整后的有限水平宽度

2.2.2 回流布局

考虑重复布局,特别是当组件变得非常长时。为了容纳更大的文本,组件可以竖排,而不是横排固定。

2.2.3 允许容器滚动

当放大文本的长字符串无法在一个屏幕上显示时,可以考虑添加滚动条以提供对更多内容的访问。

垂直滚动比水平滚动更可取。应该只要求用户在一个方向上滚动,而不是垂直和水平滚动。

某些屏幕可能无法调整大小并显示必要的内容。在这种情况下,滚动条可以用来访问更多的文本。 

2.2.4 使用长按工具提示来放大标签

一些组件,如应用程序栏和导航栏,在更严格的空间和字符限制中定位文本。在这些情况下,您可以添加一个工具提示来在UI中显示放大的内容。

在这种情况下,组件中的文本大小仍然以1x显示,而按比例放大的文本在长按时显示在工具提示中。

工具提示是显示放大文本的最佳选择:

  1. 顶部应用程序栏
  2. 导航栏
  3. 导航导轨
  4. 标签,当固定在屏幕的顶部,滚动时不移出屏幕

放大相邻工具提示中的文本,在UI中保留内容显示的空间。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/452682.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Qt QDateTime类使用

一.Qt datetime 介绍 Qt中的QDateTime类是用于处理日期和时间的组合的类&#xff0c;它提供了丰富的功能来操作和格式化日期时间数据。以下是其主要特点和用法&#xff1a; 构造函数&#xff1a;QDateTime可以通过组合QDate&#xff08;日期&#xff09;和QTime&#xff08;时…

微信小程序之vue按钮切换内容变化

效果图如下&#xff1b; 上代码 <template><view class"content"><view class"searchDiv"><view class"paytab"><view class"buttab" v-for"(t,index) in tabList" :key"index" clic…

基于java+springboot开发的计算机毕业设计网文论坛管理系统设计与实现【附源码】

基于javaspringboot开发的计算机毕业设计网文论坛管理系统设计与实现【附源码】 &#x1f345; 作者主页 央顺技术团队 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; &#x1f345; 文末获取源码联系方式 &#x1f4dd; &#x1f345; 查看下方微信号获取联…

windows环境,gitbash可以连接拉取代码,但是idea没有权限

问题如图&#xff1a; 解决办法&#xff1a; 将idea中的git设为本地 即&#xff1a;将git执行文件路径指向本地 githome\cmd\git.exe而非githome\bin\git.exe

15、设计模式之迭代器模式(Iterator)

一、什么是迭代器模式 迭代器模式是一种行为型设计模式&#xff0c;它提供了一种统一的方式来访问集合对象中的元素&#xff0c;而不是暴露集合内部的表示方式。简单地说&#xff0c;就是将遍历集合的责任封装到一个单独的对象中&#xff0c;我们可以按照特定的方式访问集合中的…

一道题学会如何使用哈希表

给你一个整数数组 nums 和一个整数 k &#xff0c;请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 示例 1&#xff1a; 输入&#xff1a;nums [1,1,1], k 2 输出&#xff1a;2示例 2&#xff1a; 输入&#xff1a;nums [1,2,3], …

【2024.03.12】定时执行专家 V7.2 发布 - TimingExecutor V7.2 Release

目录 ▉ 软件介绍 ▉ 新版本 V7.2 下载地址 ▉ V7.2 新功能 ▼2024-03-12 V7.2 - 更新日志 ▉ V7.x 新UI设计 ▉ 软件介绍 《定时执行专家》是一款制作精良、功能强大、毫秒精度、专业级的定时任务执行软件。软件具有 25 种【任务类型】、12 种【触发器】触发方式&#x…

Python合并两张图片 | 先叠透明度再合并 (附Demo)

目录 前言正文 前言 用在深度学习可增加噪音&#xff0c;增加数据集等 推荐阅读&#xff1a;Pytorch 图像增强 实现翻转裁剪色调等 附代码&#xff08;全&#xff09; 正文 使用Pillow库来处理图像&#xff08;以下两张图来自网络&#xff09; 图一&#xff1a; 图二&…

vscode ubuntu c++运行环境配置

官方教程地址&#xff1a;Get Started with C on Linux in Visual Studio Code&#xff08;Get Started with C on Linux in Visual Studio Code&#xff09; 1、下载安装vscode Visual Studio Code - Code Editing. Redefined&#xff08;Visual Studio Code - Code Editing…

多特征变量序列预测 -TCN 预测模型

往期精彩内容&#xff1a; 时序预测&#xff1a;LSTM、ARIMA、Holt-Winters、SARIMA模型的分析与比较-CSDN博客 风速预测&#xff08;一&#xff09;数据集介绍和预处理-CSDN博客 风速预测&#xff08;二&#xff09;基于Pytorch的EMD-LSTM模型-CSDN博客 风速预测&#xff…

[Java、Android面试]_01_多线程: 重要参数、状态、优雅停止线程等

本人今年参加了很多面试&#xff0c;也有幸拿到了一些大厂的offer&#xff0c;整理了众多面试资料&#xff0c;后续还会分享众多面试资料&#xff0c;感兴趣的朋友可收藏关注&#xff0c; 现分享如下&#xff1a; 文章目录 1. 线程池重要参数2. 线程池状态3. 优雅停止线程4. 线…

重载和覆盖以及隐藏有什么区别?

重载和重写以及重新定义&#xff08;隐藏&#xff09;有什么区别&#xff1f; 1.重载 重载是在一个作用域内进行的&#xff0c;多定义几个参数列表(参数类型和参数个数)不同但同名方法&#xff0c;这种叫做重载。重载通常发生在一个类内。 如: class Demo {void func() { ..…

在Linux/Ubuntu/Debian中设置字体

下载字体。 下载你喜欢的字体&#xff0c;双击并安装。 之后更新字体缓存&#xff1a; fc-cache -f -v安装 GNOME 调整。 GNOME Tweaks 是一个工具&#xff0c;允许你自定义 GNOME 桌面环境的各个方面&#xff0c;包括字体。 如果你还没有安装 GNOME Tweaks&#xff1a; …

「飞桨星河社区创作者激励计划」全新上线!丰富权益,等你领取~

为了助力更多的创作者实现在飞桨星河社区的成长&#xff0c;同时鼓励创作者们积极投入&#xff0c;记录创作者们的高光时刻&#xff0c;重磅推出**「创作者成长体系」&#xff0c;同时推出「每周精选&月度榜单」**活动&#xff0c;期待你一同加入精彩纷呈的AI学习与创作之旅…

【网络原理】TCP 协议中比较重要的一些特性(二)

目录 1、TCP 状态转换 1.1、三次握手状态 1.2、四次挥手状态 2、滑动窗口 3、流量控制 1、TCP 状态转换 TCP 状态和“线程状态”是类似的概念&#xff0c;用于描述 TCP 连接过程中正在执行什么操作。 TCP 服务器和客户端都有一定的数据结构来保存连接信息&#xff0c;而…

C++day2——引用、结构体、类

思维导图&#xff1a; 2、自己封装一个矩形类(Rect)&#xff0c; 拥有私有属性&#xff1a;宽度(width)、高度(height)&#xff0c; 定义公有成员函数初始化函数:void init(int w, int h) 更改宽度的函数:set_w(int w)更改高度的函数:set_h(int h) 输出该矩形的周长和面积函…

4款支持局域网环境使用的办公软件,可免费试用

在局域网环境下&#xff0c;选择一款合适的办公软件能极大提升团队协作效率。今天就为大家推荐4款支持局域网环境使用&#xff0c;且可免费试用的办公软件&#xff0c;分别是小鱼易连、有度即时通、石墨文档和坚果云。 一、小鱼易连 小鱼易连是一款高效的视频会议软件&#xff…

考察1学生学籍系统winform .net6 sqlserver

考察1学生学籍系统winform .net6 sqlserver 下载地址: 考察1学生学籍系统winform .net6 sqlserver winform(.net6)sqlserver数据库 只有数据库的表结构需要自己建表 启动程序 登录失败 进入主界面 项目获取&#xff1a; 项目获取&#xff1a;typora: typora/img (gitee.com…

idea Springboot 组卷管理系统LayUI框架开发mysql数据库web结构java编程计算机网页

一、源码特点 springboot 组卷管理系统是一套完善的完整信息系统&#xff0c;结合mvc框架和LayUI框架完成本系统springboot spring mybatis &#xff0c;对理解JSP java编程开发语言有帮助系统采用springboot框架&#xff08;MVC模式开发&#xff09;&#xff0c;系统具有完整…

无人机远程指挥控制系统技术,无人机远程指挥中心功能详解

无人机远程指挥控制系统是一种用于实现无人机远程控制和指挥的技术。它主要基于先进的通信技术和无人机控制技术&#xff0c;使得操作人员可以在远离无人机的地方对其进行实时的控制和监控。 无人机远程指挥控制系统关键部分&#xff1a; 1. 通信技术&#xff1a;这是无人机远…