iOS 7 + Calabash:带有NSLinkAttributeName的UITextView和无效链接的可访问性

时间:2014-05-05 20:58:37

标签: ios7 uitextview calabash uiaccessibility

我们有一个UITextView,其中包含一个属性字符串,其中包含两个使用NSLinkAttributeName在文本视图中创建的嵌入式链接。我们使用Calabash自动化测试,而calabash无法“点击”这些TextViews内部的链接。是否有一些我缺少的东西使UITextView内的这些链接可以自动/可访问性工具?

用户可以点击这些链接,并确认预期的委托回调有效。唯一不起作用的情况是使用辅助功能工具尝试点击UITextView内的嵌入式链接。

供参考:

 NSDictionary *plainAttributes = [self plainTextAttributes];
 NSDictionary *linkAttributes = [self linkAttributes];
 NSMutableDictionary *linkOneAttributes = [linkAttributes mutableCopy];
 termsOfUseAttributes[NSLinkAttributeName] = @"linkOne";
 NSMutableDictionary *linkTwoAttributes = [linkAttributes mutableCopy];
 privacyPolicyAttributes[NSLinkAttributeName] = @"linkTwo";

 NSMutableAttributedString *string = [NSMutableAttributedString new];
 [string appendAttributedString:[[NSAttributedString alloc] initWithString:@"Blah blah blah blah " attributes:plainAttributes]];
 [string appendAttributedString:[[NSAttributedString alloc] initWithString:@"Link One" attributes:linkOneAttributes]];
 [string appendAttributedString:[[NSAttributedString alloc] initWithString:@". Blah blah blah blah" attributes:plainAttributes]];
 [string appendAttributedString:[[NSAttributedString alloc] initWithString:@"Link Two" attributes:linkTwoAttributes]];
 [string appendAttributedString:[[NSAttributedString alloc] initWithString:@"." attributes:plainAttributes]];

NSLinkAttributeName的{​​{1}}属性字符串中使用UITextView时对任何可访问性的任何了解都将非常感激。

1 个答案:

答案 0 :(得分:0)

好吧,如果可访问性不能自动生效,我认为它应该自动生效,那么您唯一的更改就是覆盖UIAccessibilityContainer的{​​{1}}方法。

您确定为该视图启用了辅助功能吗?