刚才我遇到了一个奇怪的情况。我在我们的应用程序中有一个容器视图,当点击时需要读出所有的视图,但只有一个视图应该可以单独访问。由于某些视图是带有自己子视图的复杂视图,因此我设置ADA逻辑以读取视图的accessibilityLabel(如果有),如果不是,则从子视图构建视图。设置按钮的UIAccessibilityTrait是否从它的accessibilityLabel中删除单词“按钮”?
那么,今天我们不得不在添加单词“按钮”时帮助按钮,因为容器视图被点击阅读。所以我只是在标签的accessibilityLabel中添加了“button”这个词,并且一切正常。然后我意识到,这可能会改变它读取单独点击“更多信息按钮按钮”,因为我已将按钮的accessibilityTraits属性设置为UIAccessibilityTraitButton
。
但是,令我惊讶的是,它正确地将其读为“更多信息按钮”。苹果是否会在accessibilityLabel中检测到无关的“按钮”,并在特征设置为按钮时将其删除?当特质设置为标签时,他们是否也会从按钮中删除多余的“标签”?如果这是它的工作方式,我发现这非常酷,并且对苹果工程师的部件有着不可思议的深思。
编辑:如果这是完成的方式,有人可以指出我在哪里记录这个?我无法找到它,虽然我目前仍在研究这个修补程序,所以我没有做深度搜索,我可以做的最多。