VoiceOver 在浏览收藏夹视图时选择多个项目而不是一个项目

问题描述

我目前正在向 MacOS 应用程序(使用 AppKit)添加 VoiceOver 支持,但遇到了一个问题,即 VoiceOver 将包含在 NSCollectioView 中的项目添加到它的选择中,而不是将选择从一个项目移动到另一个项目。我正在努力寻找一种方法来强制 VoiceOver 在它浏览集合时将其自身限制为单个项目。我尝试强制集合视图禁止多项选择,但这似乎没有帮助。使用 XCode 的辅助功能检查器查看了该应用程序,但据我所知,一切看起来都不错 - 角色显示为 AXList,子角色显示为 AXCollectionList。

任何帮助将不胜感激。

解决方法

解决了我的问题。它与 VoiceOver 没有特别的关系,而是与集合视图如何处理选择有关。通过实施 func collectionView(_ collectionView: NSCollectionView,shouldSelectItemsAt indexPaths: Set<IndexPath>) -> Set<IndexPath>

解决了该问题