借助 Material Design,帮助您打造更好的无障碍应用 (上篇)

news2025/1/24 0:54:01

随着时代的发展,"无障碍体验" 对开发者的意义也愈发重大。我们准备了无障碍设计文章,帮助您为更多用户打造精彩应用。本文是第一篇内容,将为您介绍辅助技术,层次结构,颜色和对比度等内容。

b5773b842979969d9b1135b0c24fb439.png

了解无障碍

改进产品的无障碍设计可以面向所有用户提高产品的通用性,包括有弱视、失明、听力障碍、认知障碍、运动障碍或情境式障碍 (如手臂骨折) 的用户。

您可以参考以下内容,了解更多相关信息:

  • 确保人人都能使用网络,并享受网络带来的便捷。

    https://www.google.com/accessibility

  • 在全球范围实现无障碍

    https://design.google/library/designing-global-accessibility-part-1

原则

8ef3e5799965a5bbec7dc44d47b1831e.png

  1. 清晰: 通过设计清晰的布局,添加明确的号召性用语,帮助用户导航。

  2. 健全: 设计应用的宗旨是满足不同用户的需求。

  3. 专属: 适配平台专属的辅助技术,就像应用支持按触、键盘和鼠标一样。

移动界面设计指南

本部分主要适用于移动界面设计。如需详细了解如何设计和开发更符合无障碍标准的产品,您可以访问 Google 无障碍中心网站:

https://www.google.com/accessibility

免责声明: 这些资料仅供参考,并不构成法律建议。如果您有任何特定问题,请咨询您的律师寻求建议。

7b16899e8a75bd1c4a36db4ced1ff70f.png

辅助技术

辅助技术可以通过屏幕阅读器、放大工具和助听器等设备帮助提升、维持或改善残障人士的各项能力。

屏幕阅读器

屏幕阅读器是一种使用盲文显示屏或会大声朗读文本的软件程序,例如 Google 的屏幕阅读器 TalkBack。有视力障碍、阅读困难或暂时不能阅读的用户可以使用屏幕阅读器,它会将显示的内容大声朗读出来。该程序可以识别出段落和按钮文字,以及图标和标题的可选文本等隐藏的内容。您可以为内容添加标签,以优化使用屏幕阅读器或使用纯文字版界面用户的使用体验。

  • TalkBack
    https://support.google.com/accessibility/android/answer/6283677

使用屏幕阅读器进行导航

屏幕阅读器为用户提供多种在屏幕中导航的方式,包括:

  • 轻触探索: 借助触摸式屏幕阅读器,用户只需在屏幕上移动手指,即可听取手指正下方的内容。这让用户能够快速了解整个界面。或者,用户可以通过肌肉记忆快速移动到某个界面元素。在 TalkBack 中,此功能称为 "轻触探索"。若要选择一个项目,用户可以点按两次。

  • 线性导航 (Linear navigation): 用户还可以通过在屏幕上向后或向前滑动来移动焦点,以线性方式从上到下阅读页面内容。在 TalkBack 中,此功能称为 "线性导航",这让用户能够锁定特定元素。

  • 轻触探索
    https://support.google.com/accessibility/android/answer/6006598

用户可以在 "轻触探索" 和 "线性导航" 两种模式之间切换。

通过页面标识导航

如果页面标识 (例如标题) 使用适当的语义标记,一些辅助技术就可以让用户在这些页面标识之间进行导航。

方向控制器

硬件或软件方向控制器 (例如方向键、轨迹球或键盘) 可让用户以线性方式从一个选择跳到另一个选择。

f2baff30c322d9b93ab3a732b4a86ec7.png

层次结构

如果导航简单易用,用户便能轻松了解他们处在您应用中的什么界面位置,以及哪些内容比较重要。为了强调重要的信息,您可以提供多种视觉和文本提示,例如颜色、形状、文字和运动,使之更为明确清晰。

反馈的类型

视觉反馈 (如标签、颜色和图标) 和触摸反馈可向用户显示界面中有哪些内容。

导航

导航应该具有清晰的任务流程,精简的步骤,易于找寻的控件,和清楚明确的标签。对于常规任务,可以实现焦点控制或者控制键盘和阅读焦点的功能。

您可以查看我们之前的推文,了解 "支持焦点导航"。

层次结构

每增加一个按钮、图片和文本行都会增加界面的复杂性。您可以通过使用以下方法让界面更简洁易懂:

  • 清晰可见的元素

  • 足够的对比度和大小

  • 明确的重要性层次结构

  • 一目了然的关键信息

若要表达界面中某一部分相对重要,您可以进行以下操作:

  • 将重要操作放置在屏幕顶部或底部 (可通过快捷方式访问)

  • 并排放置具有相似层次结构的相关内容

9d72d6a6565caea471e306ffbeebbd93.png

正确做法

通过将重要操作放置在屏幕顶部,可在层次结构中凸显其重要性。

886f7ca8b2284fb90e9f0f993f974ab1.png

注意

如果将重要操作嵌入到其他内容中,就无法清楚地看出页面上什么元素最重要了。

视觉层次结构

为了使屏幕阅读器能够按照既定的顺序阅读内容,设计人员与开发者需要紧密协作,既要按正确的顺序编写 HTML,又要了解屏幕阅读器将如何解读设计。

虽然 CSS 决定页面的布局和外观,但屏幕阅读器在任何平台 (移动应用或网站) 上都依赖于自上而下的 HTML 结构。在屏幕阅读器阅读内容时,该结构为其创建了一个可遵循的路径。

1569a18200f0e6f0e23f61167fa6c246.png

正确做法

该 HTML 从左上 (第 1 步) 到右上 (第 2 步)、左下 (第 3 步) 再到右下 (第 4 步) 的顺序阅读内容,反映了视觉层次结构。

<section class="container">
  <img class="step-1" />
  <img class="step-2" />
  <img class="step-3" />
  <img class="step-4" />
</section>

△ 示例代码: 在支持屏幕阅读器的层次结构中显示图片

62ce2c28028d8093a1b25c1d87ffa5a2.png

注意

虽然一些用户可能会按照屏幕的视觉顺序查看图片,即从左上 (第 1 步) 到右上 (第 2 步)、左下 (第 3 步) 再到右下 (第 4 步) 的顺序,但默认情况下,屏幕阅读器会按照 HTML 的自上而下顺序 (即第 1 步、第 3 步、第 2 步 和第 4 步) 读出内容。

<section class="container">
 <div class="col-left">
   <img class="step-1" />
   <img class="step-3" />
 </div>
 <div class="col-right">
   <img class="step-2" />
   <img class="step-4" />
 </div>
</section>

△ 显示图片的示例代码,其中屏幕阅读器会先阅读左列中的项目,再阅读右列中的项目。

您可以访问官方文档,了解 DOM 更多相关内容:

https://web.dev/dom-order-matters/

焦点顺序

输入焦点时遵循视觉布局顺序,通常是从屏幕的顶部浏览到底部。它可以从最重要的项目遍历到最不重要的项目。

为了帮助您确定焦点及其移动轨迹,您可以考虑以下方面:

  • 元素获得焦点的顺序

  • 元素的分组方式

  • 当获得焦点的元素消失时焦点移动的位置

您可以通过图标显示和无障碍文本的组合来表示关注点。

23dd22d13ef23bb39300a5b226138a21.png

△ 黑色圆圈表示屏幕上的元素可以获得焦点的顺序

分组

将项目分组陈列,并对每组提供说明其含义的标题,这会让内容架构更加明显。

过渡

焦点在屏幕和任务之间遍历,如果这一过程是连续的,将会改善用户体验;如果过程中一项任务中断又恢复,焦点将返回到之前获得焦点的元素上。

b62427ad9d16e5977d2d72f774430db2.png

颜色和对比度

您可以使用颜色和对比度帮助用户查看和解读应用的内容,与正确的元素互动,以及理解相关操作。

更符合无障碍设计标准的颜色

颜色可以帮助传达心情、语气和关键信息。您可以选择主要颜色、次要颜色和强调色来提高易用性。元素之间的颜色对比足够明显,可以帮助弱视用户更好地查看和使用您的应用。

您可以访问官方文档,了解如何选择能够使元素之间呈现足够高的对比度的颜色:

https://material.io/tools/color/#!/?view.left=1&view.right=0

对比度

色彩对比度对于用户区分各种文字和非文字元素非常重要。对比度较高的图片更容易被看到。如果图片的对比度较低,在明亮或昏暗的光线条件下 (例如,在阳光充足的白天或在夜晚),某些用户可能很难看清。

对比度表示一种颜色与另一种颜色不同的程度,通常写为 1:1 或 21:1。比值中这两个数字的差越大,颜色之间的相对亮度差越大。根据万维网联盟 (W3C) 制定的标准,颜色及其背景之间的对比度从其亮度 (发出的光的强度) 方面来说应介于 1-21 之间。

对于正文文本和图片文本,W3C 建议采用以下对比度:

文本类型色彩对比度
大号文字 (14pt 粗体/18pt 及以上的常规字体) 和图形和背景颜色的对比度为 3:1
小号文字和背景颜色的对比度为 4.5:1
  • W3C
    https://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-contrast.html

  • https://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-contrast.html

976fe9cad3e12dceb7e2501a22087df5.png

正确做法

以上各行文字采用了建议的色彩对比度,在背景颜色的映衬下清晰易辩。

68557a21e557af748cac4b233a596df1.png

注意

以上各行文字未采用建议的色彩对比度,在其背景颜色下难以看清。

对于图标或其他关键元素,也应考虑使用上述建议的对比度。

1a4951e59980eb7bede98d905e279ee1.png

正确做法

以上图标采用了建议的色彩对比度,在背景中清晰易辩。

955509e21f64e6f6f7e33da9f169cf3a.png

注意

以上图标未采用建议的色彩对比度,在背景中可能难以看清。

徽标和装饰性元素

装饰性元素 (如徽标或插图) 可以不符合对比度要求,但如果它们具有重要功能 (如链接到网站),增加对比度会比较易于辨别。

8ebfecd8e0acb3cc47905d7bdc502ce3.jpeg

正确做法

装饰性徽标易于辨别,可以不符合对比度要求。

d3e4dce647ae5aa5b28efdebf6b5289c.jpeg

错误做法

不要为了符合对比度要求而使徽标失真。

其他视觉提示

对于色盲用户或看不出颜色差异的用户,其他设计元素同样可以传达信息量。

由于色盲有不同的表现形式 (包括红绿色盲、蓝黄色盲和全色盲),使用多种视觉提示有助于传达重要的信息。描边、指示器、图案、纹理或文字等元素可以描述动作和内容。

746f50444c371e1b7e384987006d8547.jpeg

正确做法

文本字段错误状态通过多项提示进行传达: 标题颜色、文本字段描边和字段下方的错误提示。

422fc6885d511089127195e1b792fa13.jpeg

注意

文本字段错误状态仅通过彩色描边传达,无法感知颜色的用户可能错过这些信息。


以上就是无障碍设计的第一篇内容,敬请持续关注下一篇文章,届时我们会为您带来无障碍布局和排版、文案等相关的内容。也欢迎您持续关注我们,及时了解更多开发技术和产品更新等资讯动态。

de097cd0b3038294c208d6e2688f77fd.gif

推荐阅读

如页面未加载,请刷新重试

f8cd1250e0a53ba58f4d4158e6f12111.gif 点击屏末 阅读原文 | 即刻了解无障碍功能更多相关内容


c9e880bc8132d5a1c758af47319bb1b5.png

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[前端攻坚]:Set的使用

总结一些日常需要用到的一些api&#xff0c;也是在一些面试中会经常出现的题目&#xff0c;今天分享的是Set的一些用法和个人的一些理解&#xff0c; 同时文章也被收录到我的《JS基础》专栏中&#xff0c;欢迎大家点击收藏加关注。 我们知道Set是一种叫做集合的数据结构&#x…

手把手教你成为荣耀开发者:如何获取平台帮助及最新通知?

荣耀开发者服务平台是荣耀面向开发者的统一生态入口&#xff0c;通过聚合周边内外部系统&#xff0c;分全球多站点部署&#xff0c;为全球开发者提供业务全生命周期的商业支撑服务&#xff0c;拥有应用分发、智慧服务、开放能力、HONOR Connect等众多业务等您来合作。 在与荣耀…

引擎入门 | Unity UI简介–第3部分(2)

本期我们继续为大家进行【Unity UI简介–第3部分】的后续教程 学习内容 4.添加遮挡面板 5.添加内容面板 6.添加按钮 文章末尾可免费获取教程源代码 本篇【Unity UI简介–第3部分】篇幅较长&#xff0c;分为八篇&#xff0c;本篇为第二篇&#xff0c;还未看过第一篇的请点…

Linux学习-89-JDK下载安装(rpm方式)

17.19 JDK下载安装&#xff08;rpm方式&#xff09; linux系统上jdk安装方式比较多&#xff0c;最简单的便是yum安装&#xff0c;可以使用以下步骤来安装&#xff1a; #首先先检查是否已经安装JDK [rootCncLucZK ~]# rpm -qa |grep java[rootCncLucZK ~]# rpm -qa |grep jdk …

Docker ( 三 ) 安装 MySQL

6.2.安装 MySQL 6.2.1.拉取镜像 6.2.1.1.搜索查看可用的mysql镜像 docker search mysql6.2.1.2.拉取最新版本的mysql镜像 docker pull mysql:latest6.2.1.3.查看镜像是否已经有mysql docker images|grep mysql6.2.2.启动容器 6.2.2.1.启动容器实例 启动同时设置名字以及r…

搜遍全网,终于找到了报表自动化的最佳工具,比Excel好用10倍

工作快十年了&#xff0c;最开始是在华为做报表&#xff0c;后来去了美团从事大数据和平台方面的工作&#xff0c;现在在国企干了快三年。辗转各大企业的IT部门&#xff0c;最明显的感知就是企业间数字化程度差距太大了。就从报表这个点来说&#xff0c;互联网公司早就实现了报…

动物宠物领养网站的设计与实现(Vue+Spring Boot+Java)

目 录 摘 要 I Abstract II 目 录 III 图清单 V 表清单 VII 1 绪论 1 1.1 动物领养网站的现状与发展 1 1.2 “万千宠爱”动物领养网站的研究内容 2 1.3 “万千宠爱”动物领养网站的研究目的和意义 2 1.4 本章小结 3 2 本“万千宠爱”动物领养网站的分析 4 2.1 可行性分析 4 2.…

【目标检测】YOLOv5能识别英雄和小兵?原理解析~

目录 一、简介 二、模型结构 1.整体结构图 2.Backbone&#xff08;CSPDarknet&#xff09; 3.SPPF&#xff08;Spatial Pyramid Pooling - Fast&#xff09; 4.Neck&#xff08;FPNPAN&#xff09; 5.Head 三、anchor编解码 1.anchor编码 2.anchor解码 四、损失函数 …

【20天快速掌握Python】day09-模块和包

1.Python中的模块 在Python中有一个概念叫做模块&#xff08;module&#xff09;。 说的通俗点&#xff1a;模块就好比是工具包&#xff0c;要想使用这个工具包中的工具(就好比函数)&#xff0c;就需要导入这个模块 比如我们经常使用工具 random&#xff0c;就是一个模块。使…

车险java开发工程师【10k-15k】13薪

众推职聘”以交付结果为宗旨的全流程化招聘服务平台&#xff01; 今日招聘信息↓ 【工作内容】 1.参与软件项目和产品概要设计&#xff0c;负责详细功能设计、编码实现及相关文档编写&#xff1b; 2.根据模块设计完成相应的模块编码及单元测试&#xff1b; 3.对用户行为、需求…

「React 深入」知悉Fiber,方能百战不殆~

在React v16以上的版本引入了一个非常重要的概念&#xff0c;那就是fiber&#xff0c;实际上fiber是react团队花费两年的时间重构的架构&#xff0c;在之前的文章中也提及到了fiber&#xff0c;那么fiber架构究竟是什么&#xff0c;为什么要使用fiber 在正式开始前&#xff0c…

网络空间安全——MS15_034漏洞验证与安全加固

网络空间安全——MS15_034漏洞验证与安全加固 靶机&#xff1a;windows 2008 安装好iis7.5 1.安装iis7.5,用127.0.0.1访问&#xff0c;将访问页面截图 2.用burpsuite 抓包分析是否存在ms15_034漏洞&#xff0c;抓包验证截图 3.调用msf相应的测试模块进行扫描&#xff0c;…

沥高科技冲刺创业板:拟募资5.45亿 为胡仲杰与岑婵芳夫妻店

雷递网 雷建平 12月20日上海沥高科技股份有限公司&#xff08;简称&#xff1a;“沥高科技”&#xff09;日前递交招股书&#xff0c;准备在深交所创业板上市。沥高科技计划募资5.45亿元&#xff0c;其中&#xff0c;1.79亿元用于航空航天用真空袋工艺材料生产项目&#xff0c;…

Talk预告 | 悉尼科技大学在读博士生胡思逸:MARLlib,全新的多智能体强化学习框架

本期为TechBeat人工智能社区第464期线上Talk&#xff01; 北京时间12月21日(周三)20:00&#xff0c;悉尼科技大学澳大利亚人工智能研究所ReLER实验室在读博士生——胡思逸的Talk将准时在TechBeat人工智能社区开播&#xff01; 他与大家分享的主题是: “MARLlib, 全新的多智能体…

2022 年 MathorCup 高校数学建模挑战赛A题

赛道 A&#xff1a;“58 到家”家政服务订单分配问题 “58 到家”是“58 同城”旗下高品质、高效率的上门家政服务平台&#xff0c;平 台向用户提供家政保洁、保姆、月嫂、搬家、维修等众多生活领域的服务。 在家政保洁场景中&#xff0c;用户在平台下单购买服务后&#xff0c;…

非零基础自学Golang 第13章 并发与通道 13.3 channel 13.3.1 channel类型 13.3.2 缓冲机制

非零基础自学Golang 文章目录非零基础自学Golang第13章 并发与通道13.3 channel13.3.1 channel类型13.3.2 缓冲机制第13章 并发与通道 13.3 channel goroutine运行在相同的地址空间&#xff0c;因此访问共享内存必须做好同步。 引用类型channel是CSP模式的具体体现&#xff…

游戏玩得好的AI,已经在看病救人了

一个游戏AI&#xff0c;怎么干起医生的活了&#xff1f; 而且这本事还是从打游戏的经验里总结来的。 喏&#xff0c;拿一张病理全片扫描图像&#xff0c;不用遍历所有高倍镜视野&#xff0c;也能找到病灶所在。 在它看来&#xff0c;这个过程和《我的世界》里伐木居然是类似的…

Diffusion惊艳应用大赏

文&#xff5c;白鹡鸰自从Diffusion模型兴起之后&#xff0c;AI绘画圈又迎来了一波猪突猛进式的强化&#xff0c;早几年还只是Ins的二次元/迪士尼风格滤镜&#xff0c;让人穿上不同服装当接头霸王。现在&#xff0c;你随便输几句话&#xff0c;模型就能刷刷刷给你吐出一大堆精美…

024 | 知行国学:全国领先的线上一对一国学教育平台 | 大学生创新训练项目申请书 | 极致技术工厂

公司产品 公司的产品包括两个部分的内容&#xff0c;一是模块化、智能化的课程体系——“诗书礼乐”快乐国学课程体系&#xff0c;二是梯队化、“以一带群”、联动型的师资培训体系——“知行者”大学生国学师资培训模式。 近年来&#xff0c;国家大力弘扬中华优秀传统文化&a…

在Docker中的ubuntu中安装Python3和Pip

下载载python3.7 apt-get update apt-get install python3.7 建立软链接 先删除旧的python连接。 删除后建立新的连接关系&#xff0c;例如linux下python3默认在/usr/bin/下 rm -rf /usr/bin/python ln -s /usr/bin/python3.7 /usr/bin/python 进入python3.7的lib中&#xf…