标签: voiceover

iPhone - 让VoiceOver宣布更改标签文字

是否可以使用iPhone上的VoiceOver在标签上发布更新文本?

这类似于ARIA中的活动区域.

谢谢.

iphone voiceover wai-aria

9
推荐指数
1
解决办法
2299
查看次数

以编程方式确定VoiceOver应读取UIView项的顺序

我正在使用我的iPhone应用程序.VoiceOver令人印象深刻.当用户使用VoiceOver时,它会自动读取屏幕上的项目,并允许用户双击屏幕上的任意位置以选择该项目.但是,我希望VoiceOver以特定顺序读取项目,但它始终以UINavigationBar项目(包括后退按钮)开头.我不希望这些项目根本不被阅读,我只想从一个特定的项目开始.是否有VoiceOver相当于"firstResponder"?

iphone ipod-touch first-responder ios voiceover

9
推荐指数
2
解决办法
1778
查看次数

如何使UISearchBar的书签图标可访问?

我正在尝试在应用中改善Voice Over支持.我有一个UISearchBar.我把showBookMarks财产设置为YES.我已经设置了一个自定义图像:

[searchbar setImage:icon forSearchBarIcon:UISearchBarIconBookmark state:UIControlStateNormal];
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是,启用Voice Over后,无法激活书签图标.如果我输入文本,则会出现"清除"图标,可以按预期选择并激活它.但是一旦文本被清除并且我的书签图标出现,就无法选择它.无论我在哪里点击,Voice Over矩形始终围绕整个搜索栏,包括图标.

我已经尝试在图标上设置accessibilityLabelaccessibilityTraits属性UIImage.我已经设置UIImageisAccessibilityElement属性YES.似乎没什么用.

有谁知道在UISearchBar可访问的书签图标中需要哪些步骤?

这是搜索栏的完整代码:

UISearchBar *bar = [[UISearchBar alloc] init];
[bar sizeToFit];
bar.autoresizingMask = UIViewAutoresizingFlexibleWidth;
bar.placeholder = @"Search listed items";
bar.autocapitalizationType = UITextAutocapitalizationTypeNone;
bar.autocorrectionType = UITextAutocorrectionTypeNo;
bar.keyboardType = UIKeyboardTypeDefault;
bar.showsBookmarkButton = YES;
bar.text = @"";

UIImage *icon = [UIImage imageNamed:@"bookmarks.png"];
icon.accessibilityLabel = @"Bookmarks";
icon.accessibilityTraits = UIAccessibilityTraitButton;
icon.isAccessibilityElement = YES;
[bar setImage:icon forSearchBarIcon:UISearchBarIconBookmark …
Run Code Online (Sandbox Code Playgroud)

objective-c uisearchbar ios voiceover uiaccessibility

9
推荐指数
1
解决办法
2703
查看次数

UITableViewCell中的自定义VoiceOver操作

当a UITableView可编辑时,UITableViewCells允许用户在启用VoiceOver时执行自定义操作.当VoiceOver光标在单元格上时,用户可以通过向上或向下滑动来听到可用的操作,然后通过双击屏幕上的任何位置来调用操作.我的单元格中只有两个可用的操作:删除(调用通常的单元格删除)和默认(调用单元格上的点按).我的问题是双重的:

有没有办法向单元格添加自定义VoiceOver操作?

默认情况下,删除被读出为"删除",即使表视图委托返回的自定义标题操作tableView:titleForDeleteConfirmationButtonForRowAtIndexPath:方法.如何让VoiceOver读出自定义动作标题?

ios voiceover uiaccessibility

9
推荐指数
1
解决办法
4914
查看次数

移动辅助功能配音移动光标焦点到特定元素

我在将配音光标移动到viewDidAppear上的特定元素时遇到问题.我遵循Apple的指导原则,专注于特定元素,在这种情况下是一个消除按钮,但光标最终会在其他地方

这是我的代码:

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];

UIAccessibilityPostNotification(UIAccessibilityScreenChangedNotification,
                                self.dismissButton);
}
Run Code Online (Sandbox Code Playgroud)

任何帮助,想法,绝对会受到赞赏!非常感谢.

accessibility objective-c ios voiceover uiaccessibility

9
推荐指数
1
解决办法
1万
查看次数

如何在iOS中禁用UI旋转,但在VoiceOver中旋转?

我试图复制iOS相机的体验,在旋转时,UI本身不会旋转,但各个元素都会旋转.通过在视图控制器中设置以下内容,我可以通过视觉方式完美地复制效果:

- (BOOL) shouldAutorotate {
   return YES;
}

- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
    return UIInterfaceOrientationPortrait;
}
Run Code Online (Sandbox Code Playgroud)

另外,我在触发事件时UIDeviceOrientationDidChangeNotification使用并旋转视图CGAffineTransform.再次,这在视觉上完美地工作.但是,旋转无法在VoiceOver中生效.当我旋转到横向时,我希望左右滑动仍然允许我浏览元素.但是,我必须做上下滑动.实现此效果的另一种方法是什么适用于有视力和VoiceOver用户?

objective-c ios voiceover

9
推荐指数
0
解决办法
254
查看次数

iOS 可访问性:使 UITextField 和指定的子视图可访问

我想创建一个文本字段和文本字段上的子视图,可通过 VoiceOver 访问。如果我使用UIAccessibilityContainer方法,我只能使子视图可访问。有什么方法可以做到这一点吗?

accessibility uitextfield ios voiceover uiaccessibility

8
推荐指数
1
解决办法
3623
查看次数

你可以强制屏幕阅读器将数字作为单独的数字读取吗?

电话号码通常都是数字,忽略了parens,破折号,加号等,因此电话号码的输入字段通常是数字.

当屏幕阅读器遇到数字输入字段时,它会将值读作整数.例如,如果我有一个美国电话号码的三个输入字段,第一个是区号(3位数),那么交换(3位数),然后是行(4位数),如果字段有123,456 ,7890(分别),我们通常认为这个数字是"一二三","四五六","七,八,九,零"的方式.

但是当屏幕阅读器遇到那些领域时,它会说"一百二十三","四百五十六","七千八百九十".

我认为屏幕阅读器用户习惯于将电话号码视为大数字(至少是我曾经说过的那些人),但这并不意味着我们无法让它变得更好.如果我向其中一个人询问他们的电话号码,他们就不会使用大数字而是使用个别数字.

我尝试了各种<input>类型,并查看了所有角色,状态和属性,但没有看到内置任何可以强制读取数字的内容.

我所能想到的是通过将视觉上隐藏的<span>包含数字作为单独的数字,<span id ='foo'> 1 2 3 </ span>,然后使用<input aria-labelledby =来编码它'富'>.

有没有更好的办法?

accessibility screen-readers voiceover nvda jaws-screen-reader

8
推荐指数
2
解决办法
6690
查看次数

防止背景项目在模式叠加覆盖它们时获得焦点?

我正在努力使叠加模式更易于访问。它的工作原理基本上类似于此JSFiddle。当您打开模态时,焦点不会正确地进入模态,并且它将继续聚焦于页面中的其他(隐藏的背景)项目。

你可以在我的jsfiddle演示中看到,我已经使用aria-controlsaria-ownsaria-haspopup甚至aria-flowto

<button 
  aria-controls="two" 
  aria-owns="true" 
  aria-haspopup="true"
  aria-flowto="two"
  onclick="toggleTwo();"
  >
  TOGGLE DIV #2
</button>
Run Code Online (Sandbox Code Playgroud)

但是,在使用MacOS VoiceOver时,这些功能都不符合我的预期(尽管VoiceOver确实尊重aria-hidden我在div上设置的功能two)。

我知道我可以操纵tabindex,但是0以上的值对可访问性不利,因此我唯一的选择是手动找到页面上所有可聚焦的元素并将它们设置为tabindex=-1,这在这个大型,复杂的网站上不可行。

另外,我研究了使用Javascript手动拦截和控制选项卡行为的方法,以便将焦点移到弹出窗口中,并在退出底部时又回到顶部,但是,这也影响了可访问性。

accessibility screen-readers voiceover wai-aria jaws-screen-reader

8
推荐指数
1
解决办法
8014
查看次数

带有许多子视图的 VoiceOver 在屏幕上非常滞后/缓慢

我正在为我的名为 Swordy Quest 的 iOS 游戏构建完全可访问性:https : //apps.apple.com/us/app/swordy-quest-an-rpg-adventure/id1446641513

正如您从上面链接的屏幕截图中看到的,我创建了一张地图,其中包含 50x50 个单独的 UIView,每个 UIView 上都有一个 UIButton,所有这些都位于 UIScrollView 上。关闭 VoiceOver 后,整个应用程序(包括地图部分)都可以正常工作 - 尽管地图加载有时会有点慢。当我打开 VoiceOver 时,整个应用程序响应良好,除了地图部分,它变得非常滞后 - 在我的 iPhone 7 上几乎无法播放(比如用旧手机测试最糟糕的用户体验)。

如果打开 VoiceOver,我曾尝试删除图像细节,但这根本没有区别。这让我认为滞后是由于 50 x 50 UIViews 所有这些都添加了可访问性标签。如果单个 UIViewController 上有太多可访问的标签,VoiceOver 是否会开始严重滞后?

有谁知道一种巧妙的方法来解决这个问题?我想知道是否有一种聪明的方法可以关闭 AccessibilityLabels,除非 UIView/UIButton 位于 UIScrollView 的可见部分?

xcode accessibility lag voiceover swift

8
推荐指数
1
解决办法
136
查看次数