草庐IT

uiaccessibility

全部标签

ios - 标准 UIButton isAccessibilityElement 默认返回 NO

将标准按钮拖到IB中的View上,然后记录其isAccessibilityElement属性。这将返回NO,即使文档clearlystates它应该默认设置为YES。我错过了什么吗? 最佳答案 我的观察是,如果启用了VoiceOver或SwitchControl,则UIButton之类的项目会为-isAccessibilityElement返回YES,但它们通常否则会返回NO。即使未启用访问方法(例如画外音),我也无法确定他们返回YES的情况。编辑:似乎如果您启用然后稍后禁用访问方法(例如切换控制),-[UIButtonisAcce

ios - UIAccessibilityAnnouncementNotification 异步问题

我注意到UIAccessibility后通知方法是某种异步调用。这对我来说听起来很正确,因为您需要收听最后发生的事件,而不是昨天发生的事件……但是请看这个例子:UIAccessibilityPostNotification(UIAccessibilityAnnouncementNotification,@"String1");UIAccessibilityPostNotification(UIAccessibilityAnnouncementNotification,@"String2");您只能听到“string2”。这个例子很简单,你可以回答说可以将“string2”附加到“str

ios - VoiceOver 未正确宣布 UITextInput

我对VoiceOver播报我的自定义UITextInput的方式有疑问虽然它具有键盘焦点:当通过向左/向右滑动将辅助功能焦点移动到UITextInputView时,VoiceOver正确宣布了UITextInput,我听到类似Textfield,isediting,,charactermode,insertionpointatend的声音.但是,如果我通过点击将辅助功能焦点移动到UITextInput,VoiceOver会显示emptyline,这是不正确的。无论UITextInput如何获得辅助功能焦点,我都希望VoiceOver发出完全相同的通知。任何想法可能是这种奇怪行为的原因?

ios - UIAccessibility - 容器

画外音中有一个“容器”转子设置-它允许您快速浏览屏幕的“高级”部分(上下滑动)。例如,在日历中,您有3个项目-导航栏、内容、工具栏。我的应用程序使用自定义UIView子类,无论我尝试做什么-我的所有View似乎都属于一个容器-所以我无法将它们拆分为逻辑部分。我尝试将它们放在单独的View中,实现UIAccessibilityContainer协议(protocol)并在这些父View上设置一些可访问性属性。有谁知道如何创建多个容器? 最佳答案 我对这个问题做了一些挖掘,认为它是Apple使用的私有(private)特性。首先我注意到

ios - 什么使元素可访问?为什么点击手势比 UIButton 更难访问?我如何解决它?

布伦特·西蒙斯wroteinablogpost轻击手势识别器(大概在UIView上)比UIButton更难访问。我正在努力学习让我的应用程序易于访问的方法,我很好奇是否有人可以阐明是什么让它比UIButton更难访问,以及是什么让元素开始“可访问”?为了更多的可定制性,我计划构建一个由UIView组成的按钮,并使用一些subview点击手势识别器,但现在我不太确定。是否可以使UIView与UIButton一样易于访问? 最佳答案 在此上下文中,可访问很可能是指可以使用Apple的辅助功能(例如VoiceOver)使用的UI元素(请参

ios - 辅助功能:如何始终将焦点设置在导航项的标题 View 上

我在我的应用程序中使用UINavigationController。使用VoiceOver时,当按下新的ViewController时,backButton具有焦点。如果View出现,我宁愿让titleView的accessibilityLabel成为焦点,以便首先读取它的accessibilityLabel。使用UIAccessibilityPostNotification(UIAccessibilityScreenChangedNotification,self.navigationItem);当我第一次创建和推送ViewController时,titleView似乎得到了关注。但

ios - 如何禁用自定义静态 UITableViewCell 的可访问性

我有一个包含静态内容的UITableViewController的Storyboard。这些单元非常简单,仅包含一个UILabel。如果我现在想禁用其中一个单元格的可访问性,我只需取消选中标签上的标记即可。这按预期工作。但是,如果我现在创建一个UITableViewCell的空子类并将其用作我的静态单元格的单元格类,将启用辅助功能,忽略所有设置。我尝试覆盖-isAccessibilityElement以返回NO,以编程方式将所有subviewaccessibilityElement属性设置为NO,但在使用VoiceOver时它仍然可以选择。VoiceOver不会读取内容,似乎只有一个“

ios - 获取 iOS 上 VoiceOver 的当前速度

有什么方法可以获取iOS应用程序上VoiceOver语音的当前速度?有时我使用自己的AVSpeechUtterance字符串,并且我想使用在VoiceOver设置中配置的相同速率。提前致谢。 最佳答案 该公告是否专门针对VoiceOver用户?那么从UIAccessibility发布公告通知可能会更好。VoiceOver将播报通知,因此用户将听到与VoiceOver设置相同的声音和速度。UIAccessibility.post(notification:.announcement,argument:"HelloWorld!")从文档

objective-c - 自定义 UIView 在画外音时不显示辅助功能

我正试图通过使用openGLView获得发言权,特别是来自cocos2d框架。根据Apple辅助功能指南,我遵循了以下部分:MaketheContentsofCustomContainerViewsAccessible我已经对View(cocos2d用户使用CCGLView)进行了子类化,这是一个UIView,以实现非正式的UIAccessibilityContainer协议(protocol)。我的子类UIView中的UIAccessibilityContainer实现:-(NSArray*)accessibilityElements{return[self.delegateacce

ios - DOMException 105 仅在 UI 测试期间

我间歇性地收到未处理的DOMException105。它只在运行我的UI测试时发生。如果我注释掉UIWebView的loadHTMLString:baseURL调用,则不再发生异常。这使我的测试非常不可靠。关于如何解决这个问题有什么建议吗?堆栈跟踪:2017-01-0516:57:01.431Allhomes[64245:4871703]***Terminatingappduetouncaughtexception'DOMException',reason:'***DOMException105'***Firstthrowcallstack:(0CoreFoundation0x0000