添加辅助功能自定义滑块 iOS

hai*_*ham 1 accessibility ios uiaccessibility swift

我有一个自定义滑块,可以根据super.beginTrackingWithTouch和更改值super.continueTrackingWithTouch。它遵循二次路径。

希望使自定义滑块易于访问。关于如何做到这一点有什么想法吗?

我正在考虑添加一个标准的 iOS 滑块、添加accessibilityLabel,并将这些值传递给自定义滑块。无法使标准滑块发挥作用,但对用户来说是不可见的。

Jus*_*tin 5

通常,最佳实践是扩展标准控件以执行您需要的特殊行为。作为完全自定义控件的作者,您要对其更多的可访问性负责。

UISlider在您的设备上尝试使用 VoiceOver。看看它的行为如何。您希望在实施自己的控制时尽可能多地保持这种体验。您可以使用模拟器中的辅助功能检查器来探索系统控件的辅助功能配置。

以下步骤几乎肯定是相关的:

  1. 覆盖或设置- (BOOL)isAccessibilityElement返回YES
  2. 覆盖或设置- (CGRect)accessibilityFrame以返回屏幕坐标中的适当矩形。
  3. 覆盖或设置- (UIAccessibilityTraits)accessibilityTraits为包含UIAccessibilityTraitAdjustable.
  4. 覆盖- (NSString *)accessibilityValue以描述控件的当前值。
  5. 实施- (void)accessibilityIncrement- (void)accessibilityDecrement执行 VoiceOver 等辅助客户端请求的值更改。

除了上述步骤之外,如果没有更多详细信息,我无法说出您的特定控制需要什么。如果您遇到困难,请查看辅助功能编程指南UIAccessibility 协议文档UIAction 协议文档,并带着任何剩余问题返回 StackOverflow。

祝你好运,并感谢您对此给予应有的关注。