微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何检测Mac OS上的VoiceOver是否打开?

如何解决如何检测Mac OS上的VoiceOver是否打开?

我正在使用MacOS应用程序,但无法弄清楚如何收听可访问性状态更改(例如,打开或关闭VoiceOver时)。

在iOS中,有一个我可以听的通知UIAccessibilityVoiceOverStatusDidChangeNotification

MacOS中是否有等同的产品?

解决方法

原来,有一个隐藏的api用于侦听辅助功能通知。您可以听module categorial1 (A : Set) where open import Data.Nat using (ℕ) open import Data.Empty open import Data.Sum open import Relation.Binary.PropositionalEquality -- type symbols data tSymb : Set where -- base : A → tSymb base : ℕ → tSymb ~ : tSymb → tSymb _\\_ : tSymb → tSymb → tSymb _//_ : tSymb → tSymb → tSymb -- A needs a decideable notion of equality isSubFormula : tSymb → tSymb → Set -- isSubFormula y (base x) = {!!} isSubFormula (base n1) (base n2) = {!Data.Nat._≟_ n1 n2 !} isSubFormula (~ t1) (base x) = ⊥ isSubFormula (t1 \\ t2) (base x) = ⊥ isSubFormula (t1 // t2) (base x) = ⊥ isSubFormula t1 (~ t2) = t1 ≡ (~ t2) ⊎ isSubFormula t1 t2 isSubFormula t1 (t2 \\ t3) = t1 ≡ (t2 \\ t3) ⊎ isSubFormula t1 t2 ⊎ isSubFormula t1 t3 isSubFormula t1 (t2 // t3) = t1 ≡ (t2 // t3) ⊎ isSubFormula t1 t2 ⊎ isSubFormula t1 t3

@"NSApplicationDidChangeAccessibilityEnhancedUserInterfaceNotification"

然后在该方法中,您可以检查10.13中引入的voiceOverEnabled

  [center addObserver:self
             selector:@selector(onAccessibilityStatusChanged:)
                 name:@"NSApplicationDidChangeAccessibilityEnhancedUserInterfaceNotification"
               object:nil];

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。