问题标签 [voiceover]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 隐藏时可选择 VoiceOver 控件
我有一个 UIView,其中包含一些控件(例如按钮、标签等)。我将此视图叠加到另一个视图上(使用 addSubview)。如果用户打开了 VoiceOver,他可以左右滑动来选择控件。但是,如果我隐藏视图以使控件不再可见,则用户仍然可以滑动并选择它们(尽管它们实际上不起作用)。由于这对盲人用户来说非常令人困惑,我想避免这种情况发生。我什至尝试删除包含控件的视图(使用 removeFromSuperview),但用户仍然可以滑动以选择它们(尽管突出显示它们的小框不再位于正确的位置)。就像 VoiceOver 已经记住了这些控件曾经存在并且会永远记住它一样。
我还找到了属性“accessibilityElementsHidden”,我尝试在包含控件的视图上将其设置为“是”,但它似乎也不起作用。
这是 VoiceOver 中的错误,还是我遗漏了什么?有解决方法吗?
谢谢。
ios - 画外音使用 UIAccessibilityPostNotification 有巨大的停顿
我正在为我的 iPhone 游戏添加辅助功能,并广泛使用 UIAccessibilityPostNotification(UIAccessibilityAnnouncementNotification, @"string") 来宣布游戏中发生的各种事情。它在 99% 的时间内运行良好,但我遇到了一个问题。
在所有情况下,画外音通知都是通过我添加到应用程序委托的单个方法执行的。
延迟是存在的,因此在游戏中的下一个事件发生之前会发出公告。我找不到更好的方法来确保在某些动画或其他事件中断之前说出整个公告。
在任何情况下,当调用此方法时,都会立即发出通知。在一种情况下,在说话之前会有大约 10 秒的停顿。在这种情况下,即使我调试代码并设置断点并手动执行 UIAccessibilityPostNotification 行,该行也会执行但没有任何反应。然后 10 秒后,没有在调试器中做任何事情,iPhone 就开始朗读公告。
这个公告的唯一特别之处是它是从 UIScrollView 的 touchesEnded: 事件调用的。其他公告是整个游戏循环的一部分,并非基于触摸事件。
知道什么可能导致画外音将可访问性通知排队并且不立即说出它吗?
在此先感谢,史蒂夫
ios - 将子视图添加到自定义 viewForHeaderInSection 会中断 VoiceOver 导航
我有一个 UITableViewController,我正在尝试自定义部分标题,使其看起来更像纯文本。我发现当我将子视图添加到自定义 headerView(如下详述)时,它会破坏 VoiceOver 标题导航。
例如:假设我有一个包含三个标题的表:Header1、Header2、Header3。
如果没有 viewForHeaderInSection 方法的自定义实现,我可以切换画外音转子以按标题导航,一切都按预期工作。
当我以以下方式实现 viewForHeaderInSection 方法时,我可以从 Header1 移动到 Header2 到 Header3 并备份到 Header2,但是画外音会丢失所有标题(说“找不到标题”)。
当我将 headerLabel 作为子视图添加到 headerView 时,我发现问题开始了。我尝试将 headerLabel 设置为隐藏的可访问性元素,因此画外音不会拾取它,但问题仍然存在。
任何关于 VoiceOver 做出如此反应的想法都将不胜感激。
谢谢。
iphone - 将 VoiceOver 推进到移动 Safari 中的指定元素
我无法弄清楚如何将 VoiceOver 推进到 Mobile Safari 中的特定元素。
到目前为止,我已经尝试过:
如果页面是可滚动的,这将(有时)前进到目标,但在长页面和短页面上都不能始终如一地工作,有时会导致以下元素无法读取!
我也试过:
不幸的是,这似乎不适用于非输入字段。
更高级的是,我尝试将链接放在要跳过的元素之前,并尝试将该元素设置为,aria-hidden="true"
但由于某种原因,这不适用于<header>
元素。
有效的一件事实际上是在跳过链接之前物理移动我想要跳过的元素,例如:
不幸的是,这仍然不会自动前进到下一个元素,并且当您离开时不会触发模糊事件,因此一旦用户前进光标,我没有一个很好的机制来将链接恢复到其原始位置。
看起来这应该很容易做到,但我的想法已经不多了。有没有对你们所有人都有效的解决方案?
iphone - 强制对 aria-hidden 的更改在 Mobile Safari 上立即生效
我正在使用 CSS3 在 HTML 中创建一个基本菜单。当您单击 adiv
时,相邻的列表会使用 CSS 过渡展开或收缩。例如:
点击 时div
,ul
高度会更新为其子级偏移高度的总和,并aria-hidden
设置为false
或删除。再次点击将高度设置为 0 并设置aria-hidden="true"
.
我面临的问题是,Mobile Safari 在相邻元素更改其 aria-hidden 值时并不能很好地发挥作用。从一些实验来看,如果更改的元素距离至少 2 个可聚焦元素并且发生 DOM 更改,则效果最佳。<div>
在将 a 附加到文档末尾时,我已经尝试了以下内容。
其他技巧,例如将它们包装在单独的 div 中或在目标前面插入和删除两个 div 也不起作用。似乎 VoiceOver 在第一次选择元素时已经选择了接下来要播放的元素。
有没有人成功使用这种可访问的功能?
iphone - iOS 判断 VoiceOver 是否还在说话
有没有办法确定 VoiceOver 当前是否正在播报以及何时停止。我已经尝试过 UIAccessibilityVoiceOverStatusChanged 但我的理解是,只有当您打开或关闭 VoiceOver 时才会这样做。任何帮助将不胜感激。谢谢。
xcode - NSSpeechSynthesizer 紧凑的声音
我写信是想问你一个关于 NSSpeechSynthesizer 的问题。真的很适合我,我看到的唯一奇怪的事情(对我来说)是可用的声音都是高级声音。
例如,当我打印数组中的所有声音时,我可以看到 Silvia 和 Paolo,但看不到 Silvia Compact 和 Paolo Compact。
不幸的是,对于意大利语来说,高级版的说话方式有很多紧凑的声音没有的错误。所以我希望能够选择 Compact 版本...你们中的任何人都知道我怎样才能使它们可用吗?
非常感谢你...
iphone - VoiceOver 在 iPhone 应用程序中读取上一个视图上的标签?漏洞?
我正在创建基于视图的应用程序,我将通过addSubview
方法进入下一个视图。问题是,当我打开 VoiceOver 的功能并添加子视图时,它会从以前的视图中获取附件标签。也就是说,如果我单击矩形的视图,在以前的视图中有标签,那么,VoiceOver 也会将其检测为可访问性标签并开始阅读该标签。但是,如果我使用导航控制器转到下一个视图控制器,我不会遇到任何问题。谁能告诉我,如果苹果本身仅支持基于导航的应用程序的 VoiceOver 功能,或者在基于视图的应用程序中是否有其他 VoiceOver 解决方案?
PS 我在一些演示应用程序上也尝试过相同的方法,但结果相同。
因此,当我在当前视图中添加包含按钮的子视图时,可访问性也会读取子视图后面的标签。我希望在添加的视图上读取按钮的可访问性,以及仅前一个视图的其余可见部分(而不是标签隐藏在添加的视图后面)。有人可以告诉,如果它是 iPhone 中的画外音错误,默认情况下,它还会在 addsubview 上读取 parentView 的标签?
ios - 我的 Cocos2D-iPhone 游戏可以支持 VoiceOver 吗?
我正在制作一个玩家通过动作对声音做出反应的游戏——因为不需要视觉元素来玩它,而且很多人闭着眼睛玩,不完全兼容 VoiceOver 似乎很可惜。我目前正在使用 Cocos2D-iPhone 和 CocosDenshion 进行音频,现在我开始考虑如何构建我的菜单系统来选择级别和配置控件。
在 Cocos2D 的菜单系统中支持 VoiceOver 是否相当容易,或者我是否应该考虑尝试在我没有使用经验的 UIKit 中创建我的菜单?
iphone - 可访问性焦点
使用辅助功能
当 VoiceOver 按顺序读取应用程序中的元素时,有没有办法在元素之间转移焦点?我尝试使用“nextResponder”,但它不起作用。