0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

为应用打造更好的无障碍体验

谷歌开发者 来源:未知 2022-11-17 18:25 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Android 应用的目标应该是让所有人都可以使用,包括具有无障碍功能需求的人。

视力受损、色盲、听力受损、精细动作失能的人、以及有认知障碍和许多其他残疾的人可以使用 Android 设备来处理他们日常生活中的各种事务。如果您能够在开发应用时考虑无障碍功能,那么您便可以改善用户体验,对具有这些需求以及其他无障碍功能需求的用户来说尤其如此。

本文介绍了应该依据哪些准则来实现无障碍功能的关键元素,以便所有人都可以更轻松地使用您的应用。如需获得有关如何让您的应用使用起来更没有障碍的更深入指导,请访问改进应用无障碍功能要遵循的原则页面:


  • 改进应用无障碍功能要遵循的原则

    https://developer.android.google.cn/guide/topics/ui/accessibility/principles



提升文字显示效果


对于应用中的每组文字,建议将色彩对比度 (即文字颜色与文字后面的背景颜色之间感知到的亮度差异) 设为高于特定阈值。确切阈值取决于文字的字体大小以及文字是否以粗体显示:

  • 如果文字小于 18pt,或者如果文字为粗体且小于 14pt,则色彩对比度应至少为 4.5:1。

  • 对于其他所有文字,色彩对比度应至少为 3.0:1。

下图显示了文字与背景色彩对比度的两个示例:

△ 低于建议的色彩对比度 (左图)

足够高的色彩对比度 (右图)

如需查看应用中文字与背景的色彩对比度,请使用在线色彩对比度检查工具或无障碍功能扫描仪应用。


  • 无障碍功能扫描仪
    https://play.google.com/store/apps/details?id=com.google.android.apps.accessibility.auditor


使用简单的大型控件


如果应用的界面包含更易于查看和点按的控件,界面就会更易于使用。我们建议每个互动界面元素的可聚焦区域 (即触摸目标大小) 至少为 48dp x 48dp。越大越好。

为使给定界面元素的触摸目标足够大,应同时满足以下两个条件:

  • android:paddingLeftandroid:minWidthandroid:paddingRight 的值的总和应大于或等于 48dp。
  • android:paddingTopandroid:minHeightandroid:paddingBottom 的值的总和应大于或等于 48dp。

  • android:paddingLeft

    https://developer.android.google.cn/reference/android/view/View#attr_android:paddingLeft

  • android:minWidth

    https://developer.android.google.cn/reference/android/view/View#attr_android:minWidth

  • android:paddingRight

    https://developer.android.google.cn/reference/android/view/View#attr_android:paddingRight

  • android:paddingTop

    https://developer.android.google.cn/reference/android/view/View#attr_android:paddingTop

  • android:minHeight

    https://developer.android.google.cn/reference/android/view/View#attr_android:minHeight

  • android:paddingBottom

    https://developer.android.google.cn/reference/android/view/View#attr_android:paddingBottom


这些内边距值允许对象的可见大小小于 48dp x 48dp,同时仍具有建议的轻触目标大小。

以下代码段展示了一个具有建议的触摸目标大小的元素:
<ImageButton ...
android:paddingLeft="4dp"
android:minWidth="40dp"
android:paddingRight="4dp"


android:paddingTop="8dp"
android:minHeight="32dp"
android:paddingBottom="8dp" />



描述每个界面元素


我们建议应用中的每个界面元素都包含描述该元素用途的说明。在大多数情况下,您可以在元素的 contentDescription 属性中添加此说明,如以下代码段所示:


<ImageView
...
android:contentDescription="@string/inspect" />
注意: 请勿为 TextView元素提供说明。Android 无障碍服务会自动读出文字本身作为说明。


  • TextView

    https://developer.android.google.cn/reference/android/widget/TextView


向应用的界面元素添加说明时,请牢记以下最佳做法:
  • 请勿将界面元素的类型包含在内容说明中。屏幕阅读器会自动读出元素的说明和类型。例如,如果选择某个按钮会导致应用中发生 "提交" 操作,则该按钮的说明应为 "Submit",而非 "Submit button"
  • 每条说明都应该是独一无二的。这样,当屏幕阅读器用户遇到重复的元素说明时,他们便能正确地识别出焦点现在位于之前已聚焦的元素上。特别是,视图组中的每一项 (如 RecyclerView) 都应具有不同的说明。每条说明都应反映给定项所特有的内容,如位置列表中某个城市的名称。
  • 如果界面包含仅用于装饰效果的图形元素,请将其说明设为 "@null"。如果应用的 minSdkVersion16 或更高版本,您可以改为将这些图形元素的 android:importantForAccessibility 属性设为 "no"


  • RecyclerView
    https://developer.android.google.cn/reference/androidx/recyclerview/widget/RecyclerView
  • android:importantForAccessibility
    https://developer.android.google.cn/reference/android/view/View#attr_android:importantForAccessibility


其他资源


如需详细了解如何让您的应用使用起来更没有障碍,请参阅下面列出的其他资源:
  • Codelab: Android 无障碍功能入门
    https://codelabs.developers.google.com/codelabs/starting-android-accessibility
  • 博文: 无障碍功能: 是否所有用户都能使用您的应用?

    https://android-developers.googleblog.com/2012/04/accessibility-are-you-serving-all-your.html




 点击屏末||即刻了解无障碍功能更多相关内容




原文标题:为应用打造更好的无障碍体验

文章出处:【微信公众号:谷歌开发者】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 谷歌
    +关注

    关注

    27

    文章

    6244

    浏览量

    110258

原文标题:为应用打造更好的无障碍体验

文章出处:【微信号:Google_Developers,微信公众号:谷歌开发者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    高精度经颅电刺激系列之上肢运动功能障碍康复

    HUIYING中风导致上肢运动障碍机理分析中风(脑梗死或脑出血)导致大脑组织缺血或出血性损伤,若损伤累及运动皮层,则会破坏大脑发出运动指令的神经振荡传递路径,阻碍从大脑到肌肉的信号传导,进而引起上肢
    的头像 发表于 08-29 12:13 593次阅读
    高精度经颅电刺激系列之上肢运动功能<b class='flag-5'>障碍</b>康复

    破解中墨电网差异困局!卓尔凡480V440V变380V变频变压设备助力中国智造“无障碍出海”

    破解中墨电网差异困局!卓尔凡变频变压设备助力中国智造“无障碍出海”卓尔凡电源出口变压器工厂方小姐 139 -2926+ 33 56 在全球化贸易浪潮下,中国制造业正以强劲势头“走出去”,但跨区域市场
    的头像 发表于 08-22 11:30 466次阅读
    破解中墨电网差异困局!卓尔凡480V440V变380V变频变压设备助力中国智造“<b class='flag-5'>无障碍</b>出海”

    高校课堂数智化:飞利浦商显云师大打造智慧教学中枢

    当高校课堂遇上第四次教育革命在高校教育数智化浪潮中,飞利浦商显以2652T系列智慧教育白板核心,云南师范大学打造沉浸式教学中枢。这不仅是一次硬件升级,更是对教育场景的生态重构——用创新显示方案
    的头像 发表于 07-28 11:12 635次阅读
    高校课堂数智化:飞利浦商显<b class='flag-5'>为</b>云师大<b class='flag-5'>打造</b>智慧教学中枢

    蓝牙技术如何构建无障碍生态

    几十年来,我们熟知的蓝牙™技术不仅被广泛应用于耳机、移动设备和汽车,还悄然改变着智能家居、零售、工业制造等众多领域。更令人惊喜的是,除了连接音频设备和可穿戴设备外,这项技术还在提高无障碍性方面发挥着关键作用。
    的头像 发表于 07-24 11:21 1215次阅读

    悉尼歌剧院部署Auracast广播音频技术

    作为世界级建筑奇迹与文化地标,悉尼歌剧院近日成为全球首家部署Auracast™广播音频技术的文化场馆,在无障碍服务领域取得重大突破。
    的头像 发表于 07-16 10:15 756次阅读

    海尔LED TV产品荣获DEKRA德凯欧盟无障碍指令证书

    在欧洲,“无障碍”不再只是社会责任的延伸,而是一项法定的产品设计要求。根据欧盟无障碍指令 (EU) 2019/882(European Accessibility Act,EAA),自2025年6月
    的头像 发表于 07-15 14:22 790次阅读

    普强智能语音技术重新定义车载交互边界

    普强凭借自主研发的智能语音技术,某国内头部车企提供的语音前处理、唤醒词、ASR、TTS等技术模块,构建覆盖泰语、俄语、韩语、日语等多语种的语音交互解决方案,助力其海外车型实现无障碍人机交互,更以技术突破重新定义车载语音交互的边界。
    的头像 发表于 07-11 14:00 962次阅读

    水表界的“翻译官”:让CCLinkIE和Modbus TCP“无障碍聊天”!

    转换会引入微延迟,对毫秒级控制场景需提前评估; 网络规划:合理分配IP、规划带宽,避免拥堵; 安全加固:Modbus TCP增加防火墙等防护,堵住安全漏洞。! 总结:让设备“听懂彼此” 在水处理行业
    发表于 07-10 15:43

    失明十年后,他在这里找到当大侠的感觉

    无障碍游戏土壤,亟须一群破冰者
    的头像 发表于 07-08 12:48 1072次阅读
    失明十年后,他在这里找到当大侠的感觉

    当机器人遇上“语言障碍”:CCLINKIE转Profinet的“破冰外挂”来啦\\!

    ”才到机器人控制器,焊接精度从±0.1mm“漂移”到±0.3mm。直到一次技术改造,让不同协议的设备实现了“无障碍对话”,这场工业互联的破局战,藏着哪些硬核逻辑? 一、协议壁垒下的生产痛点 某合资车企
    发表于 06-04 14:31

    CES Asia 2025 前瞻:消费电子的卫星通信融合与无障碍设计趋势#

    卫星通信
    jf_19270381
    发布于 :2025年05月20日 10:30:40

    社交牛杂症?锂电系统有了DeviceNet转Profinet网关后,沟通无障碍

    其优势体现在诸多细微之处,凭借它,那些遵循不同通信协议的设备得以汇聚于同一系统,和谐共处,极大地拓展了系统的灵活性,让后续的升级改造也能轻松完成。以高精度的位置检测例,通过该网关,企业能够获取微秒
    的头像 发表于 01-06 17:06 495次阅读
    社交牛杂症?锂电系统有了DeviceNet转Profinet网关后,沟通<b class='flag-5'>无障碍</b>

    AKI跨语言调用库神助攻C/C++代码迁移至HarmonyOS NEXT

    )开发框架。它极大地简化了JS与C/C++之间的跨语言访问,开发者提供了一种边界性编程体验友好的解决方案。通过AKI,开发者可以使用让代码更易读的语法糖,实现JS与C/C++之间的无障碍跨语言互调
    发表于 01-02 17:08

    数据采集与传输无障碍 简化设备,解决隧道深部监测难题 摆脱信号盲区的困扰

    数据采集与传输无障碍 简化设备,解决隧道深部监测难题 摆脱信号盲区的困扰 根据实际情况和工程环境,我们特别推出了一种一站式现场监测方案,旨在方便快捷地完成隧道深部及信号盲区部分的施工监测。我们利用
    的头像 发表于 12-21 17:29 700次阅读
    数据采集与传输<b class='flag-5'>无障碍</b> 简化设备,解决隧道深部监测难题 摆脱信号盲区的困扰