问题标签 [uiaccessibility]
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 - iOS 中的可访问自定义键盘
我想让自定义键盘在可访问性方面像 iOS 软件键盘一样执行。当按下按钮将字母添加到 UITextField 时,VoiceOver 应以“添加的字符音”说出该字母。当按下按钮从 UITextField 中删除一个字母时,VoiceOver 应以“已删除字符音”说出该字母。
这是我尝试的:
- 在情节提要的视图控制器中创建了一个 UITextField。
- 在情节提要的视图控制器中创建了两个标记为“Type”和“Backspace”的 UIButton。
- 将两个 UIButton 的可访问性特征设置为键盘键。
- 将故事板 UITextField 连接到 IBOutlet UITextField 实例 textField。
- 将情节提要的“类型”UIButton 连接到 IBAction,-type。
- 将故事板“Backspace”UIButton 连接到 IBAction,-backspace。
- 实现 -type 为:
[[self textField] insertText:@"a"];
. - 实施 -backspace 为:
[[self textField] deleteBackward];
。 - 使 textField 成为第一响应者。
我也尝试过同样的事情,将按钮移动到设置为 textField 的 inputView 的 UIView 中。
字符已正确添加到文本字段中或从文本字段中删除,但 VoiceOver 不会说出这些字符。我怎样才能使这项工作?
编辑:
硬件键盘说话正确。只有自定义软件键盘没有按应有的方式说话。
iphone - 禁用 UIButton 上的画外音反馈
我目前正在为我的游戏实现可访问性。正如 Apple 所建议的那样,我正在使用 UIAccessibilityTraitAllowsDirectInteraction 作为界面按钮。它运作良好,但问题是您必须触摸界面的每个按钮一次,才能“激活”它。这是有道理的,因为盲人必须通过界面的所有元素才能使用它。但是,我在游戏中一次又一次地使用相同的界面,如果用户已经在该游戏会话中发现了该界面,我想禁用画外音。(这可能是您可以在游戏设置中启用/禁用的选项)。你能想出什么办法吗?
uitableview - UITableView 上的 UIAccessibility 实现
我试图了解 UITableView 可访问性是如何工作的(以便将支持添加到以类似方式工作的其他一些库)。所以我在 UITableView 的MyTableView子类中实现了UIAccessibilityContainer 协议。
首先,我需要呈现可访问的数据源:
然后我重新实现:
并且可访问性仍然按预期工作。最后一步是实现- (id)accessibilityElementAtIndex:(NSInteger)index:
但显然,为 tableview 添加此方法可访问性停止工作,并且在导航(使用画外音)到 tableview 时,我只得到一个 VoiceOver“空列表”。有趣的事情单元格被正确返回,我得到了大量的AX 错误:找不到我的模拟父母,很可能我已经过时了。
我正在尝试调查,除非有人尽快提出想法,否则我会发布结果。
iphone - 辅助功能 UITableView 滚动
我正在尝试放置一个自定义 tableview 单元格实现,并在 tableview 中排列 3 种不同类型的单元格。如果我只是为每个表格视图单元格添加可访问性标签,它可以正常工作,没有问题,有 6 个项目,当尝试向左向右滑动时,滚动会自动发生。
但是当我在表格视图单元格中自定义实现阅读顺序时,滚动并没有发生,单元格从未被选中,并且从第 4 个单元格开始滚动不会发生,它只是停留在那里并且单独的阅读指针一直在移动。
一旦将焦点放在我得到的第四个单元格上,可以做些什么来使表格视图滚动一点?
ios - 如何获得可访问性滑动以正确导航子视图集合?
Apple 打算用一个滑动手势按顺序在屏幕项目中移动 VoiceOver 光标,但我没有这样做,因为用户可以四处移动它们!
我的主视图有一组按钮和标签,但是它也有两个自定义子视图集合,让我们从左到右按“升序”调用实例 SVA1 到 SVA9 和 SVB1 到 SVB9。也就是说,SVA 是一个自定义 UIView 类,而 SVB 是第二个。例如,当我将 SVA3 拖动到 SVA6 的当前位置时,我最终会得到 SVA1、SVA2、SVA4、SVA5、SVA3、SVA6、SVA7、SVA8 和 SVA9 的顺序。这些集合是“链接的”,因此现在也可以通过我的代码将相同的订单镜像到 SVB 子视图集合中。
我的问题是向右滑动,当我在屏幕上看到我的项目时,期望 VoiceOver 读出我的项目会导致不同的顺序。它得到了相当多的权利,但随后会突然将 VoiceOver 光标从第一个集合移动到第二个集合或改变它的方向。移动后,我的代码知道所有子视图的新顺序,但我希望能够将该信息传递给 VoiceOver。
每个自定义子视图都是一个accessibilityElement。有没有办法让 VoiceOver 按我期望的顺序读回我的项目?我遇到了 -accessibilityElementAtIndex: 方法,但不知道它是否或如何适合我的情况。
谢谢你。
ios - UIAccessibilityElement TraitAdjustable
我为两个基于框架的可访问性元素创建了一个容器,这些元素是在自定义 uiview 中使用核心图形绘制的。
我希望这两个元素(在本例中为两个光标)响应一根手指的上下滑动,所以我使用 trait UIAccessibilityTraitAdjustable
。
我已经实现了 Apple 文档中描述的协议。我可以选择这两个元素,但单指滚动似乎没有调用accessibilityIncrement
and accessibilityDecrement
。有什么我错过的吗?
iphone - 隐藏 UI 元素的可访问性烦人问题
有一个表格视图,表格视图中的第一个单元格有一个按钮。在触摸按钮时,通过将高度设置为零最初隐藏的第二个单元格会慢慢显示(动画)。这很棒,没有任何问题。
当我启用可访问性并为包括其标题标签的第二个单元格制作可访问性标签时,描述标签 isaccessibility 元素设置为 no,实际上它们无法从可访问性的眼睛中隐藏起来。它仍然读取隐藏在后台的内容。
我的问题是如何避免这个问题?我还将标题的可访问性标签和单元格的描述设置为@“”,但这没有帮助。请给我一个直观的解决方案来解决这个问题。谢谢
ios - setIsAccessibilityElement 在自定义 TableViewCell 中不起作用?
我正在使用自定义 TableViewCell。我想禁用单元格的辅助功能并取消选中自定义 TableView 单元格 XIB 中的辅助功能。即使在实施文件中,我也试图将 setIsAccessibilityElement 设置为 NO。
[self setIsAccessibilityElement:NO];
我已将 TableViewCell 内的子视图的 AccessibilityElement 设置为 No。但是我仍然发现在我运行应用程序时启用了可访问性。
谁能建议任何其他替代方法来禁用自定义 TableViewCell的可访问性?
ios - 如何以编程方式确定画外音的打字模式?
打开画外音后,您可以将转子移动到“打字模式”设置;然后上下滑动可让您在“标准打字”和“触摸打字”之间切换。标准打字要求您点击一次以选择一个键,然后双击以实际输入该字母;触摸打字允许您在键盘上移动手指,当您松开一个键时,该字母会被输入(让您打字速度更快)。
我的任务是在我们在应用程序中实现的自定义键盘上启用这种类型的键盘行为。为此,我需要知道用户是否打开了标准打字或触摸打字。
ios - 如何对 UIAccessibilityElement 子类中的“内部修饰”事件做出反应?
我有一张带有绘制项目的地图。地图处理触摸事件并确定触摸的项目,就好像它们是按钮一样。
我使地图成为一个容器,并实现了返回可访问元素的方法。对于每个项目,我创建一个 UIAccessibilityElement 子类的实例。
似乎 UIAccessibilityAction 协议对“点击”或“按下按钮”事件没有回调。那么我将如何用 UIAccessibilityElement 模仿 UIButton 的效果呢?