我有一个像这样的选择元素:
<select name="dropdown">
<option value="1" selected="">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
</select>
Run Code Online (Sandbox Code Playgroud)
在 Mac 上启用 VoiceOver 的情况下使用 Chrome,如果我使用 Space,下拉菜单会打开,但如果我使用 Control+Option+Space,下拉菜单不会打开。我该如何解决这个问题?
我有一个CPN34THX
应该通过画外音阅读的文本,因为C N 3 4 T H X
是否有任何属性需要设置UIAccessibility
,以便可以逐个字符地阅读它?
出于设计原因,我使用 a <br>
inside a,例如:<h1>
<h1>This is a <br>headline</h1>
Run Code Online (Sandbox Code Playgroud)
但请注意,它会将元素变成一个“组”,VoiceOver 将其读取为单独的项目,例如:
标题级别 1“这是一个...标题”第3
组
项目 “这是一个”
“标题”
“空组”
向 only添加aria-hidden="true"
或role="presentation"
属性<br>
会删除“空组”公告,但 VoiceOver 仍将 视为H1
“组”。
是否可以在不通过 VoiceOver 将其宣布为“组”的br
情况下将元素存在于内部?h1
我需要为我的申请支持Voice Over(盲人/部分盲人).请指导我如何实现此功能.
当我的用户按下具有无效文本的按钮时,我会显示包含文本"输入的值无效"的UILabel(以前隐藏).
我希望配音能够自动读出这个标签.我该怎么做呢?
我为我的UIButton设置了自定义提示.我期望的是,当单击时,按钮将读取提示; 双击提示时不会发出声音,但会发生正常的按钮操作.
但实际上,在双击时再次读取提示,同时正常按钮动作发生.重新阅读会很烦人,但正常的动作是播放不同的声音.他们结合在一起.Yecch!
有人会认为UIAccessibilityTraitPlaysSound是可以使用的东西,但它没有效果.我可以使用AllowDirectInteraction,但会丢失提示.在任何情况下,重读双击提示都是错误的.恕我直言.
我在几个MKAnnotations
上画了几个MKMapView
.我希望VoiceOver用户能够像往常一样继续平移/缩放地图,但我也希望他们能够快速轻松地浏览我的MKAnnotations
选择.我觉得定制转子是完美的解决方案.
我正在尝试制作一个易于访问的应用程序。当我想使用iCarousel实现标准(三指向右或向左滑动)行为时,问题就出现了。由于 iCarousel 本身并不完全可访问,它只是让用户拥有难以处理的项目。
我做了一些研究,有一些解决方法,但我也不想实现UIAccessibilityCustomAction因为这不会给用户轻松滑动的能力。
我正在努力为现有 macOS 代码库中的自定义 UI 元素添加可访问性。我们有一个自定义错误窗口,它会在发生错误时出现,我正在尝试让 VoiceOver 在发生错误时宣布错误。
目前,我正在尝试使用该NSAccessibility.post(element: Any, notification: NSAccessibility.Notification, userInfo: [NSAccessibility.NotificationUserInfoKey : Any]?)
方法,但是在运行代码时,没有说出通知。
这是我目前在 NSViewController 中的内容:
NSAccessibility.post(element: self, notification: .announcementRequested, userInfo: [
.announcement: NSLocalizedString("CANT_CONNECT_ERROR", comment: "Error string for connection failure"),
.priority: NSAccessibilityPriorityLevel.high
])
Run Code Online (Sandbox Code Playgroud)
我的期望是,使用该.announcementRequested
选项,VoiceOver 应该会自动选择并说出公告,但没有运气。我尝试使用不同的通知类型,尝试在.announcement
参数中放入一个硬编码的字符串值,并尝试使用.rawValue
和90
作为.priority
参数。
我最近发现,当可聚焦元素中包含一些内容并分配有 aria-labelledby 属性时,MacOS 的 VoiceOver 不会读取标签内的内容,而是读取焦点组件的内容
在不同浏览器中尝试:在 Safari (11.1.1) 中按预期工作,但在 Chrome (76.0.3809.100) 中失败。还尝试改变两个元素的角色。
<p id="header">This text should be read</p>
<div tabindex="0" aria-labelledby="header">
<span>Click me</span>
<p>This text should not be read</p>
</div>
Run Code Online (Sandbox Code Playgroud)
https://jsfiddle.net/2d9jn4hs/
当您在打开div
VoiceOver 的情况下专注于声音时,我希望听到This text should be read
但听到的Click me This text should not be read
却是。
有什么建议吗?
如果某个元素专注于画外音,我会尝试获取信息。因此,我重写了该accessibilityElementDidBecomeFocused
方法,但这从未被调用。我忘记了什么吗?
override func viewDidLoad() {
super.viewDidLoad()
viewArray.append(UIView())
viewArray.append(UIView())
viewArray[0].frame = CGRectMake(20, 210, 100, 100)
viewArray[0].isAccessibilityElement = true
self.view.addSubview(viewArray[0])
viewArray[1].frame = CGRectMake(220, 220, 100, 100)
viewArray[1].isAccessibilityElement = true
self.view.addSubview(viewArray[1])
}
//never called
override func accessibilityElementDidBecomeFocused(){
println("accessibilityElementDidBecomeFocused")
}
Run Code Online (Sandbox Code Playgroud) Apple 的 VoiceOver 在朗读时会在屏幕左下角显示语音文本。
这个选项可以在 Windows 上通过 NVDA 打开吗?