我正在尝试设置accessibilityLabel
a UIMenuItem
,但似乎没有效果。无论如何,VoiceOver 只是读取项目的标题:
let foo = UIMenuItem(title: "foo", action: #selector(doSomething))
item.isAccessibilityElement = true
item.accessibilityLabel = "bar"
Run Code Online (Sandbox Code Playgroud)
对于此项目,VoiceOver 会读取“foo”而不是“bar”。此外,accessibilityHint
似乎也被忽略了。
我有一个 UITextView 并且部分文本是可单击的。链接有效。当我在 iPhone 设置中打开辅助功能并打开 Voice over 时,文本视图的文本会被读出,但链接不起作用。文本视图情节提要上的辅助功能已启用,并且在辅助功能属性下选择了链接,但打开旁白时该链接不起作用。我还尝试将 isAccessbilityElement = true 添加到文本视图,但最终没有成功。
UITextView 添加到表视图上的自定义单元格。
预先感谢您的建议。
当我在 iOS 上使用 VoiceOver 和 Safari,填写文本字段,然后使用“完成”按钮关闭键盘时,无法预测焦点将落在哪里。我看到的唯一一致的事情是它实际上从未出现在我输入的表单控件上。
是否有关于当键盘因“完成”而消失时 VoiceOver 所关注的内容的解释?
我有以下设置:
问题:
当启用画外音并且我触摸窗口 1 中没有可交互元素的区域,但窗口 0 确实有这样的元素时,它将选择并读取窗口 0 中的元素,即使窗口 0根本不可见。
我有什么遗漏的吗?
我有一个 ViewController 容器,里面有 2 个视图控制器。这两个 VC 内部都有一个 UICollectionView。(查看视频以查看操作中的 UI) https://chewycomllc-my.sharepoint.com/:v:/g/personal/iruiz_chewy_com/ET5cHAObgy5DmOWop4KRtV4BXHbwLEs1BgqX4udqJGu_xQ?e=f9VQ1a
当顶部 VC 在 collectionView 上进行选择时,底部 VC 选择全宽度的相应单元格(在底部 VC 中一次只能看到 1 个单元格)。(参见图像以可视化 UI 设置)
当我选择顶部 VC 上的第二个单元格时,底部 VC 显示第二个单元格。问题是,当 VoiceOver 聚焦于顶部 VC 的最后一个单元格时,它会导航到第一个单元格左上角的第一个 UI 元素(索引 0),而不是第二个单元格的左上角元素。(参见 GIF 查看问题) https://chewycomllc-my.sharepoint.com/:i:/g/personal/iruiz_chewy_com/EW7SVm4S74tEjMgKME2vK58BBtaA1WYEyL0_wjzUYkWiig?e=lylo9O
我尝试禁用单元格、VC、collectionView 的可访问性。我还尝试发布屏幕或布局更改的通知。一切都没有按预期进行。
当您查看餐厅的图片时,Yelp 应用程序可以正确执行此操作。
当您将 UISegmentedControl 添加到视图时,UIAccessibility
将关注它并说:
"(Selected) ItemName Button 1 of 2"
"ItemName Button 2 of 2"
Run Code Online (Sandbox Code Playgroud)
我有一个自定义控件,UIButtons
其切换类似于UISegmentedControl
. 但我想弄清楚的是如何让画外音n of n
在最后宣布。
.accessibilityTraits = .tabBar
我发现的最接近的事情是在容器上分配。问题是它宣布:
"(Selected) ItemName Button 1 of 2"
"ItemName Button 2 of 2"
Run Code Online (Sandbox Code Playgroud)
但为了符合我们的可访问性指南,我们不能让它宣布“选项卡”。
https://developer.apple.com/documentation/uikit/uiaccessibility/uiaccessibilitytraits/1648592-tabbar
除了编写自定义之外,accessibilityLabel
UIAccessibility 中是否有任何内容可以处理此逻辑?
我UITextField
在我的应用程序中使用搜索文本栏。我总是想将accessibiliyLabel
文本字段设置为“搜索文件”。我还想将占位符设置为“搜索文件”。
但是,当我启动 iOS 画外音时,如果在“”(空)中输入文本,则会Search for file
说两次(即一个表单accessibilityLabel
和另一个表单占位符)。如果文本字段中存在某些输入文本,则仅accessibilityLabel
与输入文本一起朗读。
有什么方法可以禁用占位符文本的可访问性吗?
对于辅助功能任务,我需要测试 iPhone VoiceOver,但由于我没有 iPhone,是否可以以某种方式在 Xcode 中的模拟设备中打开它?
Voiceover 如何检测语言以及如何使其在整个网站上“说”同一种语言?
我的电脑是英文的,我正在开发一个提供各种本地化版本的网站。画外音可以很好地阅读<p>
当前<span>
本地(不是英语)中的元素,但是当我专注于某个<button>
元素时,它不会检测语言并以英语读取所有内容,这没有意义,因为文本不是英语。我已经lang
设置了该属性<html>
,但似乎没有帮助。我什至已经向按钮添加了 lang 属性,但仍然没有任何结果。
我尝试<p>
在 a 中添加一个元素<button>
,但它仍然做同样的事情。
这就是 Voiceover 的工作原理还是我做错了什么?
我有一个包含UITableViewController
静态内容的故事板.细胞非常简单,只包含一个细胞UILabel
.如果我现在想要在其中一个单元格上禁用辅助功能,我只需取消选中标签上的标记即可.这按预期工作.
但是,如果我现在创建一个空子类UITableViewCell
并将其用作静态单元格的单元格类,则将启用辅助功能,忽略所有设置.
我尝试覆盖-isAccessibilityElement
返回NO
,以编程方式将所有子视图accessibilityElement
属性设置为NO
,但在使用VoiceOver时仍可选择.VoiceOver不会读取内容,只有一个""似乎在那里(在此元素上向上/向下滑动时可以听到).
如何禁用自定义单元格的辅助功能?
voiceover ×10
ios ×8
swift ×4
html ×2
iphone ×1
safari ×1
uikit ×1
uimenuitem ×1
uitableview ×1
uitextview ×1
xcode ×1