禁用/隐藏辅助功能元素

2024-04-03

我试图从 VoiceOver 中隐藏应用程序中的多个元素,以便屏幕阅读器不会大声朗读它们。在 iOS 上,我设置isAccessibilityElement to NO,但这对 OSX 没有影响。从 VoiceOver 隐藏元素的正确方法是什么?

例如,我在视图中包含一系列标签,如果由 VoiceOver 单独说出这些标签,则这些标签毫无意义。我想设置accessibilityLabel在容器视图上描述嵌套在其中的所有标签。但如果我这样做,里面的标签仍然会由 VoiceOver 读出。


在 macOS 中,确实如此设置accessibilityElement to NO for NSButton, NSTextField and NSImageView没有影响。那是因为这些是controls– 他们继承自NSControl。为了让它工作controls,您必须对控件执行此操作cell.

在一个 Objective-C 项目中,我对几个 Cocoa 控件进行了子类化。例如,每当我希望 VoiceOver 跳过图像视图时,我都会在 Interface Builder 中将其自定义类设置为:

/*!
 @brief    Image view which will be skipped over by VoiceOver

 @details  Be careful that you *really* want the view to be skipped over by
 VoiceOver, because its meaning is conveyed in a better, non-visual way,
 elsewhere.  Remember that not all VoiceOver users are completely blind.
  */
@interface SSYNoVoiceOverImageView : NSImageView {}
@end

@implementation SSYNoVoiceOverImageView

- (void)awakeFromNib {
    self.cell.accessibilityElement = NO;
}

@end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

禁用/隐藏辅助功能元素 的相关文章

随机推荐

  • 无法使用python列出谷歌驱动器中的文件

    不确定这是否与我的代码或 Google 方面的某些内容有关 但是我可以将文件推送到驱动器 但由于某种原因我无法列出文件夹内的文件 文件夹元数据 这是我正在使用的代码 SCOPES https www googleapis com auth
  • Spring Boot - @Value 注释不起作用

    我尝试使用 SmtpAuthenticator 创建邮件服务 组件已正确启动 但用户名和密码字段中存在空值 为什么 Component public class SmtpAuthenticator extends Authenticator
  • m2e 连接器 buildhelper 与 Eclipse Juno SR1 m2e 1.2 不兼容

    Update 将解决方案移至答案 Eclipse Juno SR1 安装 m2e 插件版本 1 2 m2e 连接器buildhelperEclipse 市场提供的与此版本的 m2e 插件不兼容 我一直在浏览各种邮件列表 但找不到更新的构建帮
  • Angular2:如何操作 url 查询字符串?

    在角 1 中 有一个 location search 可以操作 URL 查询字符串的函数 Angular2 等价于什么 I tried import Location from angular2 angular2 and import UR
  • 使用 numpy 拟合数据

    我有以下数据 gt gt gt x array 3 08 3 1 3 12 3 14 3 16 3 18 3 2 3 22 3 24 3 26 3 28 3 3 3 32 3 34 3 36 3 38 3 4 3 42 3 44 3 46
  • 未接听电话的通话计费 - Twilio

    我正在使用此代码进行传出浏览器调用link https www twilio com docs quickstart php client outgoing calls 我使用的代码与链接中所示的代码相同 也使用 twiML 应用程序 我正
  • 使用经典 ASP 发送“application/soap+xml”SOAP 请求

    如有任何帮助 我们将不胜感激 我已经做了几天了 下面是我到目前为止得到的代码 不幸的是 当我运行它时 我收到 HTTP 415 错误 无法处理消息 因为内容类型为 text xml charset UTF 8 不是预期的类型 applica
  • 填充图中水平线上方和下方的区域

    我想填充两条水平线上方和下方的区域 这就是我想出的 par mfrow c 1 2 x lt seq 1 24 1 y lt rnorm 24 10 2 for i in 1 2 plot x y ylim c 4 16 lines x y
  • 如何从数据流中的PCollection读取bigQuery

    我有一个从 pubsub 获得的对象 PCollection 比如说 PCollection
  • 如何根据第 i 个字段的值对 numpy 数组进行切片?

    我有一个 2D numpy 数组 有 4 列和很多行 gt 10000 这个数字不固定 我需要创建n按其中一列的值划分子数组 我发现的最接近的问题是如何按列值对 Numpy 数组进行切片 https stackoverflow com qu
  • 无法根据中心原点旋转齿轮

    我正在尝试制作一个悬停效果 它将三个不同的 cog svg 图标旋转到其受尊重的中心原点 我尝试使用transform origin作为中心但没有运气 任何帮助 将不胜感激 下面是我的代码 cog middle transform rota
  • 如何将 pandas value_counts() 合并到数据帧或使用它来子集数据帧

    我使用 pandas df value counts 来查找特定品牌出现的次数 我想将这些价值计数与初始数据框中的各个品牌合并 df has many columns including one named brands brands df
  • 获取传递给函数的参数的列表/元组/字典?

    给定以下函数 def foo a b c pass 如何获得传入参数的列表 元组 字典 等 无需自己构建结构 具体来说 我正在寻找 JavaScript 的 Python 版本arguments关键字或 PHP 的func get args
  • 不使用 powershell 远程安装 .msi?

    我们有一个多服务器系统我们需要在客户端安装 我想编写一个脚本 可以 关闭远程机器上的服务 卸载多台远程计算机上的软件 在多个远程计算机上安装 msi 文件 我曾挣扎过psexec and wmic做第 2 点和第 3 点 似乎必须有一种更简
  • Python 日志记录重复

    我有四个文件 Main py A py B py 日志系统 我正在使用 main 来使用 A py 和 B py 的函数 所以现在我必须在调用它们时记录所有信息 所以我编写了一个名为 log system 的脚本来为每个脚本文件 例如 A
  • Perl:Javascript::V8 模板 - 来自 Perl

    寻找像 HTML Mason 或 Mason 这样的模板引擎 那么什么将源组件 编译 为 perl 代码 而不是 perl 代码将组件 编译 为 JavaScript 代码 然后使用 Javascript V8 运行 执行它们Perl 模块
  • 可以使用 XSLT 将 XML 拆分为多个页面吗?

    我有一个带有分页指示的 XML 文档 我想将这个单个文件转换为多个输出文件 也就是说 我想转换以下内容
  • 针对 Azure AD 的 WebForms 身份验证

    我有一个 WebForms 站点 它在内部服务器上运行 并根据我们的内部 Active Directory 对用户进行身份验证 由于我们正在实施一些新功能 该网站需要移动到外部服务器 然后更改身份验证 以便根据我们的 Office 365
  • 覆盖 Altair 折线图的默认分组?

    我想制作一张图表 其中一条线在沿线的不同位置具有不同的颜色 这不起作用 import altair as alt import numpy as np import pandas as pd x np linspace 0 1 y x 2
  • 禁用/隐藏辅助功能元素

    我试图从 VoiceOver 中隐藏应用程序中的多个元素 以便屏幕阅读器不会大声朗读它们 在 iOS 上 我设置isAccessibilityElement to NO 但这对 OSX 没有影响 从 VoiceOver 隐藏元素的正确方法是