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

    文章

    6161

    浏览量

    105300

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

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

收藏 人收藏

    评论

    相关推荐

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

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

    HarmonyOS NEXT应用元服务开发禁用屏幕朗读焦点的场景

    装饰性的控件一般分隔符、占位符和美化图标等,这类图形元素仅仅起到调整页面布局或装饰性效果,并不会向用户传达有效的信息或提供交互功能,删除后不影响指引用户体验。可以设置控件的无障碍是否可见的属性将其
    发表于 10-23 09:47

    HarmonyOS NEXT应用元服务开发标注屏幕朗读内容的场景

    控件包含显示文本(text)、无障碍文本(accessibilityText)2个属性,其中,显示文本用户界面上呈现的信息,无障碍文本无障碍
    发表于 10-12 15:52

    开发者大会成功举办 vivo用科技搭建人与数字世界的无障碍桥梁

    2024年10月10日,vivo开发者大会在深圳举办,其中信息无障碍分会场受到外界广泛关注。vivo副总裁、OS产品副总裁、vivo AI全球研究院院长周围及全国政协委员,中国残疾人联合会理事,中国
    发表于 10-12 14:18 142次阅读
    开发者大会成功举办 vivo用科技搭建人与数字世界的<b class='flag-5'>无障碍</b>桥梁

    HarmonyOS NEXT应用元服务开发Accessibility(信息无障碍)介绍

    方面的数字鸿沟,使其更加方便地参与社会生活,享受数字发展带来的便利。 Accessibility Kit(无障碍服务)提供应用适配无障碍的开放能力,以便应用可以更好的服务于障碍人群和
    发表于 10-09 10:29

    通信电缆常见障碍分类介绍

    通信电缆是现代通信系统中至关重要的组成部分,它们承载着无数数据和信号的传输任务。然而,在长期的使用过程中,通信电缆难免会遇到各种障碍,这些障碍会严重影响通信的质量和可靠性。了解和掌握这些常见障碍
    的头像 发表于 08-27 15:23 333次阅读

    上手体验 | 无障碍使用ZCC工具链编译SDK例程

    各位关注先楫的小伙伴们可能已经发现,先楫SDK1.6已经支持ZCC工具链。大家可能会好奇ZCC工具链是什么新事物,好不好上手。关于ZCC工具链的详情
    的头像 发表于 07-13 08:17 410次阅读
    上手体验 | <b class='flag-5'>无障碍</b>使用ZCC工具链编译SDK例程

    华为致力于推动无障碍技术发展

    的智能生活新纪元。这场聚焦前沿科技的盛会并未止步于技术的展示,而是进一步拓展至人文情怀与平等包容,用一场“湖畔对谈”无障碍活动以及TECH4ALL数字包容展馆,我们呈现了一次科技与人文的对话。   今年已经是第三年,华为在HDC现场举办与华为
    的头像 发表于 06-29 16:13 730次阅读

    鸿蒙ArkTS声明式开发:跨平台支持列表【无障碍属性】 通用属性

    组件可以设置相应的无障碍属性和事件来更好地使用无障碍能力。
    的头像 发表于 06-11 17:30 394次阅读
    鸿蒙ArkTS声明式开发:跨平台支持列表【<b class='flag-5'>无障碍</b>属性】 通用属性

    谷歌GameFace项目让用户通过面部表情控制PC游戏角色

    开发者可将“Game Face”无障碍功能融入应用程序,使用户能够通过面部手势或头部运动来控制光标。例如,张口可实现光标的移动,抬眉则表示进行拖拽操作。
    的头像 发表于 05-15 10:07 402次阅读

    交通运输部大力推广适老化无障碍交通服务

    4月3日,交通运输部发布了关于2024年适老化无障碍交通出行服务扩容提质增效的实施方案。方案明确了出租车电动召回和网络预约车辆的“一键召唤”服务要在地级市以上的所有城市实现全区覆盖;
    的头像 发表于 04-03 16:15 897次阅读

    基于STM32H743IIT6开发的代码,是否能不经修改无障碍地运行在STM32H753IIT6上?

    基于 STM32H743IIT6 开发的代码,是否能不经修改无障碍地运行在STM32H753IIT6上?
    发表于 03-29 06:19

    真实用户体验,终端大模型能为信息无障碍做些什么

    终端大模型
    脑极体
    发布于 :2024年03月20日 17:04:44

    苹果iOS 18和macOS 15无障碍功能升级

    Adaptive Voice Shortcuts功能可让用户把独特的口语短语绑定到无障碍设定中。用户能自行设定定制化短语,只需讲述这段话便能启动他们所需的辅助功能设置; 例如VoiceOver,语音控制,缩放等诸多现有辅助功能都能用此方法进行快速切换。
    的头像 发表于 03-08 11:08 711次阅读

    对 PN结 的认识

     单向导电性的,是二极管,不是PN结!  真正令 PN结 导不了电的,关非 过不去,而是  离不开及进不来, 交叉对流无障碍,背道而驰不允许,所以,当PN结成了集电结,单向导电性就被打破了。
    发表于 02-25 08:57