首页
学习
活动
专区
圈层
工具
发布

【Android 应用开发】Android 无障碍开发简介 ( Android 无障碍开发辅助技术 | 启用 TalkBack 无障碍功能 | TalkBack 无障碍开发 示例 )

文章目录 一、Android 无障碍开发辅助技术 二、启用 TalkBack 无障碍功能 三、TalkBack 无障碍功能代码示例 官方文档 : Android 无障碍功能概览 一、Android 无障碍开发辅助技术..., 如 : TalkBack : 该技术 帮助 盲人 和 视力障碍者 更容易地使用 Android 设备 ; 语音提示 : 在屏幕上 点击或滑动时 , 自动读取屏幕中的元素和文本内容 ; 手势控制...如 : 打开应用 , 滑动屏幕 等 ; 自定义命令 : 自定义常用命令 , 如 : 快捷方式 ; 文本转语音 : 将屏幕中的文本转为语音提示 ; 无障碍模式下 , 使用键盘 , 鼠标 等外设控制焦点 ,...TalkBack 无障碍功能 , 就是在布局组件中 , 为组件添加了 android:contentDescription 属性 , 当用户启用了 TalkBack 无障碍功能后 , 浏览该布局页面时...无障碍功能" /> 浏览该界面时 , 就会自动读出 " 点击按钮测试 TalkBack 无障碍功能 " 内容 ;

2.4K20

简单了解下无障碍设计模式

当使用屏幕阅读器(如 “TalkBack” ),并通过触摸板导航时,在用户指尖触摸到 UI 元素时,会大声读出标签上的文本。...应避免使用以下声音: 通过屏幕阅读器播放不必要的声音,例如打开网页时自动播放的背景音乐。如果有背景音乐,请确保用户可以安全的暂停或停止背景音乐。...例如,当焦点聚焦到控件上时, TalkBack 会大声朗读出控件,如果为其加上了定时器,可能会阻止控件完成某些任务。...对于有其他重要功能的控件,请确保用户可以再次启用控件、或可以通过其他途径执行相同的功能,在层次和焦点中了解更多。 自动朗读文本 阅读关于在活跃区域放置文本的信息。...例如,Android 的 “双击以选择” 功能提示用户在选择一个项目时需要点击两次。Android 的 TalkBack 也会提醒和元素相关联的任何自定义操作。

6.7K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    安卓软件开发:改进NimTwoTrackApp的无障碍功能

    二、无障碍功能(Accessibility Features)定义无障碍功能是为了目帮助有特殊需求的用户更好使用数字设备和软件。...为了优化NimTwoTrackApp的视觉体验,除了保证文本具有足够的对比度之外,还可以使用MaterialTheme中的字体缩放功能,根据系统设置自动调整字体大小:Text( text = "NimTwoTrackApp...真机环境模拟用户的实际使用情况,帮助开发者验证无障碍功能的效果。 在使用TalkBack时,用户可以通过手指在屏幕上滑动,设备会通过语音播报屏幕上元素的描述。...如果你为按钮、文本或其他UI元素设置了contentDescription,TalkBack读取这些描述,告诉用户这些元素的功能。...测试无障碍功能的步骤: 在安卓设备上启用TalkBack: 设置 -> 辅助功能 -> TalkBack -> 启用检查每个组件的无障碍功能是否达到预期结果。

    1K162

    Flutter + OpenHarmony 设计系统实战:构建统一、美观、无障碍的跨端 UI 体系

    若每个设备都采用不同设计语言: 用户体验割裂 开发维护成本倍增 品牌识别度下降 更严重的是,不符合《OpenHarmony 人因设计规范》的应用将无法通过 AppGallery 审核。...本文将指导你从零构建一套跨设备、高一致性、强可维护、无障碍友好的 Flutter + OpenHarmony 设计系统,涵盖色彩、排版、组件、动效、适配五大核心模块,助你实现: 设计开发效率提升 40%...TextStyle(fontSize: MediaQuery.textScaleFactorOf(context) * 17), ) 6.3 测试工具 华为 DevEco Accessibility Scanner:自动检测对比度...@1.2.0) 组件库独立发布,业务项目按需升级 八、验收标准与 Checklist ✅ 所有颜色来自 OhColors ✅ 所有间距使用 OhSpacing ✅ 手机/平板/车机均有 UI 预览...附录:资源推荐 OpenHarmony 人因设计指南 Flutter Design System 模板(GitHub) 华为 DevEco Design Kit(Figma 插件) 美,不是装饰,而是功能与情感的和谐统一

    16110

    关于无障碍设计的七件事

    Twitter使用默认焦点和提示的组合方式来显示焦点,图标也从灰色变成绿色。这是三个独立的视觉效果,可以很好地为键盘用户提供焦点提示。 ? 当你准备使用自己定义的焦点状态时,请记得去除默认的状态。...(这份指南讲了如何构建当今许多常见设计组件的无障碍版本,包括菜单、模态、搜索自动补全等) 译者注:非模态对话框,用户在打开此类对话框时,仍然可以操作其他窗口。 下面是一个搜索的自动补全的例子。 ?...加上这两个图标以后,搜索自动补全的UI模式变得难以识别了。 ? 自动补全功能中添加了隐藏的按钮,辅助功能无法识别 这会导致无障碍问题。部分原因是它打破了搜索自动补全的标准键盘模式。...菜单是一个为用户提供选择列表的小组件。 一旦变成在菜单的每行提供多个选项,如上图左边的例子所示,这就不是菜单了。 键盘交互模型从使用箭头键更改为使用Tab键。...首先,打开你的手机(此处用iPhone示例,android端的则可使用TalkBack)。打开设置-辅助功能-旁白,这个时候就变成一部可以供视障用户使用的手机。 ?

    4.2K30

    Flutter 与开源鸿蒙(OpenHarmony)国际化、无障碍与合规开发实践:打造全球可用的可信应用

    —— 被忽视的非功能性需求 许多团队在实现核心功能后,常忽略以下关键维度: 语言障碍:仅支持中文,无法覆盖海外用户; 交互障碍:视障/听障用户无法操作; 法律风险:未声明权限用途,违反 GDPR/《个人信息保护法...builder: (context, child) { return Directionality( textDirection: TextDirection.rtl, // 自动根据...三、无障碍(Accessibility):让每个人都能使用你的应用 3.1 OpenHarmony 无障碍要求 所有上架应用必须支持 TalkBack 类屏幕阅读器,并通过以下测试: 所有可交互元素有明确标签...ohos.permission.GET_WIFI_INFO", "reason": "用于发现同一网络下的智能设备" } ] } 应用内说明弹窗(非 Flutter 自绘,调用系统组件...message: '用于发现同一网络下的智能设备' }); 4.2 隐私政策与数据收集 必须提供隐私政策 URL,并在首次启动时展示; 禁止收集无关数据(如 IMEI、精确位置未授权时); 用户可撤回同意

    22010

    藏在微信里的温度,无障碍开发框架分享

    ,让上层业务能以更简便更解耦的代码,完成无障碍的适配。...开启 Talkback 时,整个 Item 识别为一个焦点,选中双击是触发点击 switch的逻辑。在无障碍模式下,选中双击是直接触发相应控件的 Click 事件。...业务侧可以将一个页面/业务的无障碍需求,在一个配置类里使用规则表达出来,再由框架进行处理。实现相应的效果。...聚焦顺序支持设定在 Activity 启动后的第一个读屏控件支持对某个父 View 的 disableChildren 功能在某个 View 满足条件时,对其进行读屏,但不聚焦在某个 View 满足条件时...满足条件时,读出提前设定的 string,但不聚焦 全局热区宽高补齐至 44dp,并提供自定义热区放大/禁用热区放大的功能 ... 02 无障碍开发基础知识 在深入了解框架的设计前,先来介绍一些无障碍功能开发的基础知识

    2.9K51

    Flutter: Semantics控件

    官方文档对Semantics类介绍如下: 一个用来描述控件树中控件含义的控件,这些描述被可访问性工具,搜索引擎或者其他其他语义分析软件使用,以确定应用程序的含义。 我个人认为这段解释云里雾里。...完全可选(这意味着你可以完全不关心这个控件,但这并不推荐), 2.意味着可以与*Android TalkBack**或*iOS VoiceOver**一起使用(例如主要由视障人士使用), 3.意味着可以由屏幕阅读器...当Flutter渲染控件树时,它还会维护第二个控件树,称为Semantics Tree,它被移动设备辅助技术(Android TalkBack或iOS VoiceOver)所使用。...下面将列举其中部分属性(更详细的请查阅官方文档)。...最好的是,如果用户按下该块,则移动设备辅助技术将提供与该组相关的辅助功,而不是提供该组的每个Widget的辅助信息。

    1.4K20

    Appium+python自动化(九)- 定位元素工具(义结金兰的两位异性兄弟)(超详解)

    简介   环境搭建好了,其他方面的知识也准备的差不多了,那么我们就开始下一步元素定位,元素定位宏哥主要介绍如何使用uiautomatorviewer,通过定位到页面上的元素,然后进行相应的点击等操作....uiautomatorviewer是android-sdk自带的一个元素定位工具,非常简单好用,使用uiautomatorviewer,你可以检查一个应用的UI来查看应用的布局和组件以及相关的属性。   ...比较高效和可靠的UI测试方式就是自动化测试。自动化UI测试创建测试代码来执行测试任务,各种测试任务分别覆盖不同的使用场景,然后使用测试框架来运行这些测试任务。...这样打开后是不是就熟悉了,点击上方红色标记的就可以操作进行定位了~~~ 二、Android手机的铺助功能带有TalkBack 之前一直用的是谷歌的方法,但是最近发现使用talkback...功能路径: 原生系统:设置 – 辅助功能(Accessibility) – TalkBack 华为EMUI系统:设置 – 高级设置 – 辅助功能 – TalkBack 三、宏哥在小弟哪里遇到的问题

    5.3K70

    关于flutter中的TextStyle详解

    可以使用负值来让字母更接近。 double wordSpacing 单词之间添加的空间间隔(逻辑像素为单位)。可以使用负值来使单词更接近。...TextOverflow.ellipsis 使用省略号表示文本已溢出。 TextOverflow.fade 将溢出的文本淡化为透明。...String semanticsLabel 图像的语义描述,用于向Andoid上的TalkBack和iOS上的VoiceOver提供图像描述 talkback是一款由谷歌官方开发的系统软件,它的定位是帮助盲人或者视力有障碍的用户提供语言辅助...Voiceover功能是APPLE公司在2009年4月新推出的一种语音辅助程序    Text(         "Text组件的使用",         style: TextStyle(             ...ellipsis 使用省略号表示文本已溢出。fade 将溢出的文本淡化为透明。

    2.7K30

    Flutter: Semantics控件

    官方文档对Semantics类介绍如下: 一个用来描述控件树中控件含义的控件,这些描述被可访问性工具,搜索引擎或者其他其他语义分析软件使用,以确定应用程序的含义。 我个人认为这段解释云里雾里。...当Flutter渲染控件树时,它还会维护第二个控件树,称为Semantics Tree,它被移动设备辅助技术(Android TalkBack或iOS VoiceOver)所使用。...下面将列举其中部分属性(更详细的请查阅官方文档)。...最好的是,如果用户按下该块,则移动设备辅助技术将提供与该组相关的辅助功,而不是提供该组的每个Widget的辅助信息。...这种情况下,你应该使用MergeSemantics: 注意 当你想要合并Semantics时要非常小心,因为如果你有任何冲突的Semantics,这对用户来可能说是荒谬的。

    2K40

    写前端代码时请多为残障人士思考之『Accessibility』

    这部分的人通常会使用一些辅助的功能来阅读屏幕,例如放大镜,屏幕缩放以及屏幕阅读器。...•为所有非文本内容提供替代文本,使其可以转化为人们需要的其他形式,如大字体印刷、盲文、语音、符号或更简单的语言。•为时基媒体提供替代。...可操作性(Operable) 用户界面组件和导航必须可操作。 •使所有功能都能通过键盘来操作。•为用户提供足够的时间用以阅读和使用内容。•不要设计会导致癫痫发作的内容。...状态或属性的更改将导致向辅助技术发出通知,这可能会警告用户发生了更改。.../goods">goods user 但是如果我们加上切换路由或者进行数据交互时重置焦点的功能

    2K20

    无障碍功能框架:如何让残疾老龄群体更好使用微信?

    开启 Talkback 时,整个 Item 识别为一个焦点,选中双击是时触发点击switch的逻辑。(在无障碍模式下,选中双击是直接触发相应控件的 Click 事件)。...框架简介 框架将多种不同的无障碍需求的实现进行封装,抽象成不同的规则。 业务侧可以将一个 页面/业务 的无障碍需求,在一个配置类里使用规则表达出来,再由框架去进行处理。实现相应的效果。...聚焦顺序 支持设定在Activity启动后的第一个读屏控件 支持对某个父View的disableChildren功能 在某个View满足条件时,对其进行读屏,但不聚焦 在某个View满足条件时,读出提前设定的...解决方案 基于无障碍服务(AccessibilityService)开发、集成了在不开启 Talkback 的情况下能展现读屏区域一个无障碍功能走查工具,无需开启 Talkback 逐个手动触摸,就能高效检查无障碍适配情况...,如果是画中画,这个就是焦点 该节点是否和window边界重合等大,对于这种和window等大的节点,Talkback选择不做聚焦 检查该节点 是否 clickable/longClickable/focusable

    2.5K41

    Android Accessibility 安全性研究报告

    图1.1Accessibility官方简介 二、 运行原理 Accessibility[2]相关服务以及接口在Android 1.6时期就已经被加入,其中以AccessibilityService组件作为入口...再次进入辅助功能,点击System Monitor后无法再进入上述开关页面,而是自动回弹至设置页面。 ?...(三) 窃取信息 由于使用Accessibility时可以获得用户通知栏以及操作视图里的内容,此功能可被用于窃取用户数据。...2)用户对Accessibility的认识不足 如果说起ROOT,相信能引起用户的谨慎注意,但是设计到Accessibility,包括无障碍服务、辅助功能等词语时,大多用户没有足够的安全防护意识,甚至由于服务置于后台...在此提醒广大用户,不要轻易给未知来源的应用开启辅助功能,以免遭受到手机的使用不正常或其他损失。 * 企业账号:360手机卫士,转载请注明来自FreeBuf.COM

    2.2K80

    JavaSwing_8.1:焦点事件及其监听器 - FocusEvent、FocusListener

    永久焦点改变事件发生时焦点直接移动从一个组件到另一个,例如通过到requestFocus的(呼叫)或作为用户使用TAB键遍历组件。...下面的示例演示焦点事件。该窗口显示各种组件。注册在每个组件上的焦点侦听器报告每个焦点获得和焦点丢失的事件。对于每个事件,将报告焦点更改中涉及的其他组件,即相反的组件。...请注意,当焦点从一个组件更改为另一个组件时,第一个组件将触发焦点丢失事件,第二个组件将触发焦点获得事件。 从组合框的菜单中选择一个选项。再次单击组合框。请注意,没有报告焦点事件。...这样一来,使用辅助技术的用户就可以确定组件在那里及其包含的内容。该演示通过在文本区域上调用setRequestFocusEnabled(false)来禁用文本区域的单击焦点,同时保留其选项卡焦点功能。...该演示可以使用setFocusable(false)从焦点循环中真正删除该文本区域,但这将产生不幸的后果,使使用辅助技术的人员无法使用该组件。 再次按Tab键。焦点从列表移回到文本字段。

    6.4K10

    京喜小程序首页无障碍优化实践

    根据研究会信息无障碍工程师初步检测,目前影响障碍用户们使用缺陷集中在以下几类中: 按钮未加标签,用户难以了解对应按钮点按分别会触发哪些功能。...读屏软件 无障碍访问的关键点 —— 使用屏幕阅读器。 移动端 APP 访问无障碍特性,开启读屏模式的设置路径: iOS:设置 -> 通用 -> 辅助功能 -> 旁白(VoiceOver) 。...安卓:设置 -> 辅助功能 -> 无障碍 -> TalkBack(不同机型路径可能不一样) 以下是一些主要的 VoiceOver 手势: 轻点:选择并朗读项目。 轻点两下:激活所选项目。...隐藏元素读取 如果不希望部分内容被读出来,可以使用 aria-hidden='true' 来声明,这样读屏时就会忽略这些元素。...当障碍用户聚焦到轮播图后,读屏软件将子元素的描述朗读读来。轮播图继续轮播,焦点索引却不会随轮播状态自动更新,而是跟随当前子元素滑动消失在屏幕中。若要获取更新后的轮播信息,需要重新聚焦。 ?

    2K31

    Flutter + OpenHarmony 国际化与无障碍(i18n & a11y)深度实践:打造真正包容的鸿蒙应用

    ——包容性不是功能,而是尊重。...本文将提供一套覆盖语言、文化、视觉、听觉、操作多样性的完整实践方案,助你构建: 支持 20+ 语言的动态切换体验 符合 WCAG 2.1 AA 级的无障碍标准 适配 RTL(从右向左)布局的 UI 架构...context, child) { return Directionality( textDirection: TextDirection.rtl, // 当 locale 为 ar/he 时自动设为...健壮性 兼容辅助技术 通过 TalkBack / VoiceOver 测试 3.2 Flutter 无障碍关键实践 为所有交互元素添加语义标签 ElevatedButton( onPressed.../ VoiceOver 导航全流程 使用 外部开关设备 操作核心功能 切换至 高对比度模式 验证可读性 用 德语 测试文本截断 5.3 华为无障碍认证准备 AppGallery 要求提交: 无障碍自测报告

    16910

    对话框、模态框和弹出框看起来很相似,它们有何不同?

    然后我们将讨论在网页或网络程序中同时使用这些特征时我们会得到什么:对话框、弹出窗口、覆盖物和揭示框。希望当我们首先详细讨论特性时,更容易区分组件本身。...WAI-ARIA 规定,当使用 role="dialog" 时,应至少包含一个可聚焦的元素,并在对话框打开时将焦点移动到其中一个可聚焦的元素上。...当模式对话框关闭时:如果用户触发它,将焦点移回触发器。浏览器会自动为s 执行此操作。对于弹出窗口,它只在“有意义的地方”的情况下执行(请参阅弹出窗口解释器)。...当模态对话框关闭时:如果用户触发了它,将焦点返回到触发器。浏览器会对自动执行此操作。对于 popover,只有在“有意义”的情况下才会执行 (请参考 popover 解释器)。...如果用户没有触发它,将焦点移动到 DOM 中适当的位置。 对于所有其他组件(非模态对话框、弹出窗口或披露),预期的焦点管理因情况而异。

    8.2K00

    Flutter lesson 6: Flutter组件之基础组件(二)

    如果我们要使用图片,我们需要两个步骤: 在根目录下面新建images文件夹用来存放图片,也可以是其他地方,但是更推荐在根目录中 配置pubspec.yaml 为了更好的适配图片,还是建议使用多套图片,比如...semanticLabel 图像的语义描述,用于向Andoid上的TalkBack和iOS上的VoiceOver提供图像描述 talkback是一款由谷歌官方开发的系统软件,它的定位是帮助盲人或者视力有障碍的用户提供语言辅助...Voiceover功能是APPLE公司在2009年4月新推出的一种语音辅助程序 excludeFromSemantics 是否启用图像的语义描述。...Text Text Widget用的是非常多的一个组件,要显示文字就需要用到这个组件。使用也是很简单的。...,它的定位是帮助盲人或者视力有障碍的用户提供语言辅助 Voiceover功能是APPLE公司在2009年4月新推出的一种语音辅助程序 style 这个属性才是用的更多的一个属性,主要是设置字体的样式,包括但不限于字体

    2.5K20
    领券