Tag: 可访问性

当VoiceOver打开时,应用程序是否可以检测单指(左右)滑动?

当iOS设备上的VoiceOver处于活动状态时,单指滑动(左手或右手)手势允许用户浏览视图中的不同元素。 有没有办法检测用户是否在使用配音时使用了单指轻扫手势?

我可以影响VoiceOver转子中出现的内容吗?

我有一个基于文本的应用程序,我希望我的用户在启用VoiceOver时使用“线”转子选项。 但是,该选项不会出现。 在我的应用程序中的文本是使用tableview中的单元格(单元格包含UILabels和其他视图)布局。 恐怕我的执行会影响转子如何“看”我的应用程序,但我认为这是不幸的,如果它限制我完全支持转子。 有什么方法可以利用转子中的“线路”选项?

打开自定义的UITableViewCell时,显示/隐藏溢出菜单中的辅助function元素

我在自定义的UITableViewCell类中实现可访问性。 我有一个相当简单的溢出菜单,里面有几个button,直到按下一个省略号button,滑动打开并closures溢出。 在我的单元格的初始化程序中,我将overflowContainer的accessibilityElementsHidden设置为YES 。 这似乎工作,当滚动使用VoiceOver,这些意见被跳过。 然后,当打开单元格时,在UIViewanimation的完成处理程序中,我将同一个overflowContainer相同的accessibilityElementsHidden设置为NO。 这似乎没有任何影响,这些元素仍然跳过。 我也曾尝试在更改accessibilityElementsHidden BOOL之前/之后/更改accessibilityElementsHidden BOOL时发布UIAccessibilityPostNotification(UIAccessibilityLayoutChangedNotification, nil) ,但是这对此情况似乎也没有影响。 基本上我想切换一些UIView实例在特定点的accessibilityElementsHidden 。 谁能让我知道我可能做错了什么? 这是我打开溢出时触发的代码: – (void)cellOverflowDidShow:(MyCell *)cell { self.overflowContainer.isAccessibilityElement = YES; self.firstButton.isAccessibilityElement = YES; self.secondButton.isAccessibilityElement = YES; self.thirdButton.isAccessibilityElement = YES; UIAccessibilityPostNotification(UIAccessibilityLayoutChangedNotification, self.firstButton); } closures单元格时,我将相反的方向(全部设置为NO并再次发布通知)。 当初始化单元格时,我设定的是: self.overflowContainer.isAccessibilityElement = NO; 绝对不知道为什么它不应该工作,看来我正在做的一切100%正确。 如果我没有在初始化程序中设置行,所有button都可以访问(始终)。 所以看起来,第一个电话,不pipeYES还是NO ,都可以工作,但是随后的电话都会被忽略。

如何在运行仅iPhone应用程序(非通用)的iPad上的UIPickerView中支持VoiceOver?

一般来说,我会看Apple的UICatalog示例代码,以获取基本的VoiceOver支持,但是看起来在示例代码中,UIPickerViews支持VoiceOver。 我是否需要在某处提供accessibilityLabel方法以添加VoiceOver支持? 我试图实现UIPickerViewAccessibilityDelegate方法,但语音只读取我的select器视图中的标签,而不是向上或向下滑动以更改值的提示。 另外我的select器视图设置为UITextField的input视图。 所以我不确定这是否相关。 更新: https : //github.com/stevemoser/VoiceOverPicker 我创build了一个示例项目来演示这个问题。 在这个例子中,显示了一个正常的select器视图和一个文本框。 还有一个select器被设置为文本框的input视图属性。 在使用VoiceOver的时候,我似乎无法启用任何一个select器。 虽然我可以通过在屏幕上浏览视图(左右)来激活任何一个。 有任何想法吗? 更新2:看起来如果应用程序是运行在iPhone上的iPhone应用程序或运行在iPad上的iPad应用程序,但是如果它是在iPad上运行的仅iPhone应用程序,则点击selectUIPickerView不起作用。

用于VoiceOver的UISlider辅助function特性?

什么是适当的UIAccessibility特征和处理程序需要使UISlider可用与VoiceOver启用? 是否有任何关于用户如何使用启用了VoiceOver的UISlider的说明?

为什么UIScrollview在Interface Builder中没有可访问区域?

我注意到,UIScrollView没有提到的可访问性区域,我可以设置辅助function标签或辅助function。 这似乎也适用于活动指标。 为什么UIVIews,UIButtons和更多有这个领域,而不是UIScrollView和UIActivityIndi​​catorView?

在ios 7.1中自定义button形状

苹果在iOS 7.1中添加了Button形状特征。 但我需要使其禁用我的应用程序或更改其默认颜色,形状以匹配我的应用程序的用户界面。 有可能不使用自定义typesbutton? 请帮帮我。

在iOS应用程序中使用辅助function检查器时出现AX错误。

我正在用模拟器testing一个iPhone应用程序。 每当我点击某些元素,我在控制台收到这个错误: AX ERROR: Could not find my mock parent, most likely I am stale. 这个错误似乎没有造成任何副作用。 我可以使用应用程序,并自由地检查元素。 任何想法可能是由什么造成的?

iOS /移动Safari浏览器仍然放大,而视口设置为用户可伸缩=否? 检查辅助function设置!

这个特定的移动Safari浏览器(看似不可能,但没有logging)的问题使我今天很长一段时间不知所措,当我想出来的时候,我正要在这里发表一个关于它的问题。 问题:虽然我设置了<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; minimum-scale=1.0; user-scalable=no;"/>我的iPad的networking应用程序仍然允许手动缩放(捏在浏览器中)。 – 但只在我的iPad上,而不在我的iPhone上。 此外,我会旋转设备之间的肖像风景模式,以检查具体的方向模式CSS代码,这给了奇怪的结果: 从风景到肖像的旋转没有任何问题,所有东西的大小和位置都是有意义的。 之后,从Portrait(肖像)旋转到Landscape(风景),视口保持与Portrait(纵向)模式一样宽。 它被放大(缩放)。我不得不手动缩小以返回到完整的图片/视口。 这应该是不可能的。

如何将VoiceOver辅助function添加到应用程序的图标徽章号码?

题: 如何将自定义VoiceOver辅助functionLabel或Hint到应用图标徽章号? 例如 ,当iOS设置Accessibility > VoiceOver打开时,VoiceOver朗读在屏幕上触摸的项​​目。 对于App Store和邮件图标,大声读出以下内容: App Store图标,VoiceOver说: “App Store, 2个更新可用 ,双击打开。 邮件图标,VoiceOver说: “邮件.1条未读消息 ,双击打开。” 但是 ,对于我正在开发的这个项目,所读出的VoiceOver是通用的,并不完全有用: 我的应用程序图标,VoiceOver说: “我的应用程序, 123个新项目 ,双击打开。 短语“…新项目”太模糊,不准确,我敢肯定,必须有一种方法来改变这个自定义string,通过设置一个accessibilityLabel , accessibilityHint或类似的东西,使其更好地阅读。 但究竟在Swift代码中究竟如何? 非常感谢。 补充观察: 使用模拟器辅助function检查器,VoiceOver值出现在Label – “我的应用程序”和Value – “123个新项目”中。 所以在代码更新我已经尝试设置accessibilityValue的东西自定义 – “123自定义描述”。 但仍然没有运气,VoiceOver继续阅读“我的应用程序123个新项目 ,双击打开”。 为什么VoiceOver不按预期读取自定义徽章值? 码: 下面的方法添加一个红色的圆圈应用程序图标徽章号码到我的应用程序的图标: import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() let badgeCount: […]