簡體   English   中英

如何在 Swift 中為 MacOS 上的 VoiceOver 分組 UI 元素?

[英]How to Group UI Elements in Swift for VoiceOver on MacOS?

我使用 NSStackView 輕松組織 UI 元素並將它們放置在主視圖的不同區域。

現在,VoiceOver 在一層中看到所有 UI 元素,我想知道如何制作堆棧視圖,以便 VoiceOver 用戶必須與每個堆棧視圖交互並停止交互。

更好的是,是否有任何通用視圖可以作為一個組自動出現在 VoiceOver 中,而我可以將它用作一個容器?

如果有人可以在 Swift 中提供任何代碼片段,我將不勝感激。

謝謝!

通過采用 NSAccessibilityGroup,我能夠讓 NSStackView 作為一個組工作。

class GroupView:NSStackView, NSAccessibilityGroup {
    override func accessibilityLabel() -> String? {
        return "Test"
    }
}    

然后從故事板中選擇堆棧視圖,打開身份檢查器,並將 GroupView 指定為自定義類。

這不需要子類化。 只需致電:

stackView.setAccessibilityElement(true)

然后您還應該為 VoiceOver 用戶添加一些關於他們將遇到的新組內容的信息。 示例:

stackView.setAccessibilityLabel("actions")
stackView.setAccessibilityRole(.toolbar)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM