【问题标题】:VoiceOver: how to implement button that behaves like keys in CalculatorVoiceOver:如何在计算器中实现类似于键的按钮
【发布时间】:2026-02-05 10:40:01
【问题描述】:

当您在使用 VoiceOver 时将注意力集中在计算器应用程序中的数字键上时(通过点击一次、在其上滑动手指或向左/向右滑动),VoiceOver 会读出按钮标题。然后,如果您通过双击“激活”按钮,它会按下按钮,VoiceOver 会以比按钮标题通知更高的音调播报插入到计算器显示屏中的字符。

我的问题是:如何在我的应用程序中获得相同的按钮行为 - 在激活按钮时以更高的音调重复按钮标题?

我已将可访问性特征设置为键盘键。我已尝试发布公告通知,但该公告的音调不高。

【问题讨论】:

  • 你是否也设置了无障碍标签?
  • @unobf 不,我让 VoiceOver 播报按钮的标题文本。
  • 尝试设置无障碍标签
  • @unobf 设置 accessibilityLabel 并没有改变行为 - 它只是宣布该标签一次。

标签: ios uibutton voiceover uiaccessibility


【解决方案1】:

当用户调用控件的操作时,重写accessibilityActivate 方法以执行某些操作。

【讨论】:

  • 好的,然后呢?您可以使用 AVSpeechSynthesizer,但这样做会导致 VoiceOver 在其上方宣布内容,例如,如果您发布 UIAccessibilityAnnouncementNotification