首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS UI 自动化测试原理以及在 Trip.com 应用实践

对于 Accessibility 技术,开发人员需要注意是,XCUITest 框架默认并不能将所有视图元素审查到,只会审查到可以被 VoiceOver 功能读取文字元素。...个属性是为了让 UIImageView 和 UIView 支持 Accessibility 功能,但仅设置这个属性并不能使这两个视图在 Accessibility 元素层级结构中可见。...让 App 支持辅助功能 使用 Accessibility Inspector 前文中提到 Apple 对于视图元素会默认审查能够通过 VoiceOver 播放文字视图元素,而对于 UIImageView...元素层级,该应用可以审查 iOS 和 macOS 元素。...{ get set } accessibilityLabel 属性可以解决绝大部分 Accessibility 问题,当光标将焦点放在设置该属性元素师时,它内容可由 VoiceOver 读取的人类可读字符串

2.1K40

Ask Apple 2022 与 SwiftUI 有关问答(上)

这有点笨拙,我不认为有两个文本框是正确做法。另外,按照这种方法,@FocusState 变量会变得没有反应,而且它不能被设置为 nil( 返回到以前视图并没有移除键盘 )。...A:当在其他类型 UIViewControllers 中使用 UIHostingController 时,你可能会通过调用托管控制器方法来触发视图加载提前发生。...对于非惰性视图 LazyVStack ),一旦 hosting controller 视图被初始化,onAppear 将被调用。...但是从一个文本字段到下一个文本字段聚焦感觉不够流畅,而且每当我在一个文本字段中输入一个字母时,我 CPU 使用率似乎会飙升到 70% — 100%。...image-20221022135907441为 Stepper 添加快捷键Q:我们如何为 SwiftUI Stepper( 在 MacOS 上 )添加增量和减量操作快捷键?

12.2K20
您找到你想要的搜索结果了吗?
是的
没有找到

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

移动端 APP 访问无障碍特性,开启读屏模式设置路径: iOS:设置 -> 通用 -> 辅助功能 -> 旁白(VoiceOver) 。...安卓:设置 -> 辅助功能 -> 无障碍 -> TalkBack(不同机型路径可能不一样) 以下是一些主要 VoiceOver 手势: 轻点:选择并朗读项目。 轻点两下:激活所选项目。... role='button' 表示元素是按钮,读屏软件会读作“按钮”、role='searchbox' 表示元素用于搜索,读屏软件会读作"搜索"。 属性 —— 让元素具备更多意义。...当障碍用户聚焦到轮播图后,读屏软件将子元素描述朗读读来。轮播图继续轮播,焦点索引却不会随轮播状态自动更新,而是跟随当前子元素滑动消失在屏幕中。若要获取更新后轮播信息,需要重新聚焦。 ?...,读屏软件会将聚焦元素(商品图、名字、价格、利益点等)一个个读出来。

1.3K31

在 SwiftUI 中实现音频图表

下面我们将学习如何通过使用 accessibilityChartDescriptor 视图修饰符为任何 SwiftUI 视图构建音频表示,呈现类似自定义条形图视图或图像图表。...我们还为图表创建了一个可访问元素,并禁用了其子元素可访问性信息。为了改进图表视图可访问性体验,我们还添加了可访问性标签。 最后,我们可以开始为我们条形图视图实现音频图表功能。...VoiceOver 在移动到图表视图条形时播放具有不同音调声音。VoiceOver 对于更大值使用高音调,对于较小值使用低音调。这些音调代表数组中数据。...AXChartDescriptor 类型实例表示我们图表中数据,以 VoiceOver 可以理解和交互格式呈现。...AXChartDescriptorRepresentable 协议实例设置为描述我们图表实例。

14510

UI Browser Mac (Apple辅助功能和GUI脚本助手)

您可以在熟悉macOS浏览器视图中一目了然,所有这些视图均位于应用程序包含层次结构中,可轻松浏览窗口,工作表,抽屉,对话框和其他视图。...为了避免迷路,UI浏览器“路径”视图为您提供了从目标应用程序元素到您选择任何UI元素路径紧凑轮廓,其中列出了所有中间元素有序列表,包括一些用户通常看不见中间元素。...AppleScript命令生效或网络管理员或用户采取了某些措施,或者因为您使用UI浏览器本身UI浏览器是用户界面参与者您可以通过在目标应用程序UI元素设置用户可设置属性值(包括窗口大小和位置,应用程序位于最前还是隐藏...,窗口是否被聚焦或最小化,窗口是否被聚焦)来告诉UI Browser 控制 macOS应用程序。...您甚至可以将键盘快捷键发送到目标应用程序焦点元素,然后在目标应用程序活动文本字段或文本视图中输入各个字符。

1.3K20

iOS最新更新修复了多个安全问题,包括KRACK漏洞

苹果最近发布了iOS 11.1和macOS High Sierra 10.13.1版本,修复了一些问题,更新了70多个新表情,并且对多个安全问题进行了修复。...10月中旬时,Wifi WPA2安全协议被曝高危漏洞,几乎涉及所有WiFi设备 攻击者可以利用 KRACK 攻击读取先前认为是安全敏感信息,信用卡号,密码,聊天信息,电子邮件,照片等。...2 级盲文输入支持 改善了 VoiceOver 对多页 PDF 访问 改善了 VoiceOver 转子播报所收到通知操作 改善了从应用切换器移除应用时 VoiceOver 转子操作菜单 修复了部分用户在使用...VoiceOver 进行触摸键入时备选按键无法显示问题 修复了 VoiceOver 转子始终返回至“邮件”中默认操作问题 修复了 VoiceOver 转子不会删除信息问题 其他改进和修复 功能回归...解决了 Apple Watch 应用中出现心率通知设置问题(第 1 代) 修复了 Apple Watch 上通知中无法显示应用图标的问题

89890

8.2K Star开源软件提升你窗口管理体验,macOS alt-tab 窗口切换工具

软件介绍 [AltTab for macOS]是一款强大 macOS 应用程序,为用户提供了多种窗口和应用程序管理功能。...10.辅助功能 :AltTab 提供多种辅助功能, VoiceOver(语音输出)、粘滞键、降低透明度等,提升可访问性。...7.若要自定义 AltTab 外观和其他设置,请在 macOS "系统偏好设置" 中找到 AltTab,并进行相应调整。...AltTab for macOS 不仅提供了强大窗口管理功能,同时也注重用户隐私和资源占用。除非用户明确要求(升级应用程序或发送崩溃报告),AltTab 不会上传或下载任何数据。...它使用尽可能少资源, CPU、内存和磁盘空间,以确保对系统影响最小化。

45020

如何测试你做项目的可访问性

键盘可访问性 重点关注页面上所有可交互元素,须同时满足以下两点: 元素可被选中,当按Tab键时 元素可交互,当按Enter/空格/箭头键/Esc键时 我们继续以 360课程培训(https://www.so.com...比如 Mac 上 VoiceOver(https://webaim.org/articles/voiceover/),在“系统偏好设置/辅助功能/VoiceOver” 中启用它。 ?...首先简单介绍下它键盘操作,更多信息可查看上面截图里“使用指南”。 在运行 VoiceOver 时,普通键盘操作保持不变。...缩放功能 对于视觉障碍用户,有时需要使用放大镜来阅读页面。这里介绍两种: 页面缩放:浏览器自带缩放功能 设置大字体:浏览器里设置字号。...良好页面可访问性,需要(至少)涵盖以下特性: 足够对比度 表单控件需要有角色、名字或标签、状态 良好键盘可访问性:所有可交互元素可被键盘选中、可与键盘交互;不可交互元素可以不被聚焦 使用恰当标题和链接

1.8K10

Web 隐藏技术:几中隐藏 Web 中元素方法及优缺点

Opacity 通过将opacity度设置为0,该元素及其所有后代将被隐藏,并且不会被继承, 但是,它仅从视觉角度隐藏它们。 除此之外,opacity值为1以外元素将创建一个新堆叠上下文。...img { opacity: 0; } 根据最初示例,如果我们要隐藏不透明图像,结果将如下所示: image.png 该图像仍然存在,并且已保留其空间。 它仅从视觉角度隐藏。...Positioning 要隐藏带有position属性元素,我们应该将它移到屏幕外,并将其大小设置为0(宽度和高度)。个例子就是跳转导航链接。...可访问性对position: absolute | fixed影响 屏幕阅读器可访问该元素,并且键盘可聚焦。 它只是从视口中隐藏起来。...我们需要解决两个问题: 1.菜单隐藏时避免用键盘聚焦 2.当导航隐藏时,避免通过屏幕阅读器告知导航 下面的屏幕截图显示了Mac OS上VoiceOver转子是如何看到页面的。

5K30

WWDC 2022:哪些是前端开发者要关注信息?

容器查询 在响应式布局布局中,经常使用媒体查询(Media Queries)检测视窗宽高,实现自元素样式自动调整。但是在一些页面设计中,元素容器尺寸发生变化时,元素样式也需要随之变化。...CSS 容器查询就是来解决这个问题,它一直是 Web 开发者梦寐以求功能,简单来说: 容器查询允许开发者根据容器元素大小来设置元素样式。...cqmin cqi 或者 cqb 最小值 cqmax cqi 或者 cqb 最大值 macOS Web 推送 macOS Ventura 上 Safari 16 即将推出 Web Push。...这一改进允许 WebKit 在比以前更短时间内为来自客户端( VoiceOver )更多可访问性请求提供服务。在一些复杂网页上,大量无障碍请求耗时减少了 25%。...动画改进 CSS Offset Path 为 Web 开发者提供了一种沿任意形状自定义路径设置动画方法。offset-path 属性可让你定义要沿其设置动画几何路径。

1.7K10

XcodeXcode 9 全新功能您会喜欢工具。内建 Interface BuilderXcode IDE

您也能更简单地在所有 Mac 上设置 Xcode Server:它现在内置于 Xcode 中,不再需要另外 macOS Server app。...与 macOS Server 搭配使用时,Xcode 可以设置远程 bot,以便连续构建、分析、测试甚至封装 app。...Cocoa 和 Cocoa Touch 使用“模型-视图-控制器”模式构建,因此可以轻松地独立设计界面,不受实现方式限制。...Xcode 包括以下 Storyboard 控制器: 表格视图控制器 集合视图控制器 导航控制器 标签栏控制器 页面视图控制器 GLKit 视图控制器 或自定义 Assistant 编辑 Storyboard...macOS 包含其他工具 命令行工具 下载 macOS SDK,标题和构建工具 ( Apple LLVM 编译器和 Make)。

8.3K30

Mac开发跬步积累(二):NSViewController 转场动画精耕细作

图片来自网络 与iOS相比,在macOS中,控制器转场情景相对要简洁一些,没有iOS中导航控制器Push和Pop动画以及边缘返回手势, 保留下Present方式,倒是提供了特有的切换方式, 可以供我们使用出许多效果...添加需要切换控制器: RedController 和BlueController 为自定义两个控制器,仅显示不同视图颜色....设置容器视图颜色 containView.layer?.backgroundColor = NSColor.orange.cgColor } 5....动画效果 Summary(总结) 在macOS中,控制器转场切换无论是presentViewController方式或者transition方式,本质上都是将要显示控制器视图View,通过addSubView...自定义present 动画时,需要注意事件穿透问题: 由于显示出来控制器视图(Controller View)是通过addSubView方式添加到容器视图中,因此在控制器视图(Controller

2.6K40

Angular企业级开发(7)-MVC之控制器

1.MVC中控制器 AngularJS控制器主要为了把模型和视图连接在一起。大多数业务逻辑操作都会放在视图对应控制器中。...3.控制器作用 3.1 在控制器中初始化模型(添加属性) 创建控制器并将它附加到DOM元素之后,AngularJS会创建一个子作用域。子作用域保存着对应控制器数据模型。...AngularJS Controller Demo 4.控制器作用域 因为控制器是附加到DOM元素上,所以存在着一个视图,有多个控制器控制器之间可以是并列,也可以是嵌套形式存在。...4.1 视图控制器并列 各个控制器从附加DOM元素节点开始,到节点对应闭合标签结束地方创建了一个子控制域,单个控制器里面的$scope对象只能访问和调用该控制器范围内属性和方法。...控制器嵌套Demo 5.何为ControllerAs AngularJS提供$scope方式来处理Controller。

1.9K50

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

当使用屏幕阅读器( “TalkBack” ),并通过触摸板导航时,在用户指尖触摸到 UI 元素时,会大声读出标签上文本。...添加到原生元素额外声音(屏幕阅读器能够正确翻译原生元素) 标记用户界面元素 给输入控件和其他元素添加描述,供屏幕阅读器等设备可以进行朗读 动效 Material design 使用动效来引导视图之间焦点...视觉反馈(标签、颜色和图标)和触摸反馈向用户显示了可用 UI。 导航应该具有清晰任务流程,和最少步骤。在频繁使用任务上,应该实现聚焦控制、或控制键盘和读取焦点功能。...当页面使用合适语义化标签时,一些无障碍技术允许用户在页面的这些标记(例如标题)之间导航。 硬件或软件方向控制器(例如 D-pad、轨迹球或键盘)允许用户以线性方式从一个选择元素跳到另一个元素。...这意味着按钮应该设置成按钮、复选框应该设置成复选框,以便将控件类型和状态正确传达给用户。如果一个元素是从一个原生 UI 元素上扩展或继承,他会获得父元素角色。

4.7K40

玩转 Xcode Playground(上)

如何创建实时视图 你可以使用实时视图来为 Playground 添加互动性,试验不同用户界面元素,并建立自定义元素。...通过导入 PlaygroundSupport 并将当前页面的实时视图设置为你自定义视图视图控制器,就可以将一个交互式实时视图添加到 Playground Page 中。...image-20211224105528272 实时视图支持 SwiftUI 视图以及 UIKit(AppKit)视图视图控制器。SwiftUI 视图需要通过 setLiveView 来设定。...如何让其他类型实例在实时视图中显示 任何符合 PlaygroundLiveViewable 协议类型,都可以被设置为实时视图。...如果 Playground Page 被设置macOS 模式,该目录中内容可以在不同 Playground 项目 macOS 模式 Page 中共享。

3.9K20

iOS 8人机界面指南(三):iOS技术(下)- 腾讯ISUX

3.14 VoiceOver VoiceOver增加了对盲人、弱视用户,以及一些有学习困难用户辅助性。 ?...为了确保VocieOver用户能使用你应用,你可能需要确保你用户界面内页面和控制器能提供一些描述性信息。对VoiceOver支持不需要你改变你用户界面内任何视觉设计。...当你完全遵照标准方式使用标准用户界面元素时,几乎不(即使有也很少)需要增加额外工作。你用户界面越趋向定制化,你就越需要提供更多信息来保证VoiceOver能准确描述你应用。...在文本页面内,文字选择应该是默认设置。 不要使按钮标题可选择 如果按钮标题是可选择,用户很难在不激活按钮情况下呼出编辑菜单。通常来说,像按钮这样操作元素不需要是可选择。...如果你提供自定义输入页面,确保它功能对于来用户来说是清晰易懂。 你也可以提供自定义输入辅助视图,这种视图通常表现为显示在键盘(或你自定义输入页面)上方一个独立元素

2K40

springboot(14)-thymeleaf

springboot&thymeleaf 在本文中,我们将讨论如何为Spring Boot应用程序设置和使用Thymeleaf。 介绍 ?...Thymeleaf是一个真正模板引擎,它采用HTML文件,解析它,然后生成正在服务Web内容。 当与JSP视图比较时,Thymeleaf更像是一个HTML类别的视图。...在application.properties文件中设置spring.thymeleaf.template-resolver-order=0。...在这个步骤中,我们将创建一个Spring MVC控制器,我们控制器将执行以下内容。 处理获取/user/{id}路径映射GET请求。 返回名称为“index”视图。...在本文中,我们介绍了如何为springboot应用程序设置和使用Thymeleaf。我们介绍了不同springboot Thymeleaf配置以及如何定制Thymeleaf行为。希望能够带来帮助。

1.4K30

iOS 9人机界面指南(三):iOS 技术 (下) - 腾讯ISUX

3.19.4 适时处理媒体远程控制事件(Handle Media Remote Control Events, if Appropriate) 当人们使用iOS媒体控制器或辅助控制器(耳机线控)时,应用要能响应远程控制...为了确保VocieOver用户能使用你应用,你需要在你用户界面中提供一些有关视图和控件描述信息。对VoiceOver支持不需要你改变你用户界面内任何视觉设计。...当你完全遵照标准方式使用标准用户界面元素时,几乎不(即使有也很少)需要增加额外工作。你用户界面越趋向定制化,你就越需要提供更多信息来保证VoiceOver能准确描述你应用。...如果你提供自定义输入页面,确保它功能对于来用户来说是清晰易懂。 你也可以提供自定义输入辅助视图,这种视图通常表现为显示在键盘(或你自定义输入页面)上方一个独立元素。...人们可以在设置-声音中关闭所有的键盘音效(包括你自定义输入页面中那些)。

1.3K30
领券