Questions tagged [uiaccessibility]

UIAccessibility is an informal protocol in UIKit that provides accessibility information about user interface elements. This information is used by VoiceOver and other assistive technologies to help users with disabilities interact with your application. All of the standard views and controls in UIKit implement UIAccessibility, so applications are accessible by default.

This tag is for any questions about making iOS apps more accessible to users via the UIAccessibility protocols.

By default, all objects that inherit from UIView adhere to this informal protocol. In fact, for many views with a low level of customization, iOS is clever enough to set the accessibility attributes automatically. For higher levels of customization, though, the following fields can be set manually (from the Apple docs):

  • Label. A short, localized word or phrase that succinctly describes the control or view, but does not identify the element’s type. Examples are “Add” or “Play.”
  • Traits. A combination of one or more individual traits, each of which describes a single aspect of an element’s state, behavior, or usage. For example, an element that behaves like a keyboard key and that is currently selected can be characterized by the combination of the Keyboard Key and Selected traits.
  • Hint. A brief, localized phrase that describes the results of an action on an element. Examples are “Adds a title” or “Opens the shopping list.”
  • Frame. The frame of the element in screen coordinates, which is given by the CGRect structure that specifies an element’s screen location and size.
  • Value. The current value of an element, when the value is not represented by the label. For example, the label for a slider might be “Speed,” but its current value might be “50%.”

When a VoiceOver user taps a view (or a Switch Control user scans over it), that view's properties are read out loud. These properties also help to determine how VoiceOver and Switch Control facilitate user interaction.

For more information, See the official Apple documentation here: Accessibility Programming Guide

546 questions
11
votes
1 answer

How to set the accessibilityIdentifier on a React Native component?

I’d like to add an accessibilityIdentifier to a React Native component, so that I can use Xcode’s UI testing to navigate around my app. Is there a way to specify the accessibilityIdentifier (not the accessibilityLabel) for React Native?
11
votes
1 answer

Xcode 7.1 Errors UIAccessibility Errors

I finally got around to it and updated Xcode to 7.1. But now I am getting all these warnings in the debugger. My app uses no UIWebViews. I use Parse as a backend, but this is the first time I've been presented with these issues. Any one with any…
Joshua Hart
  • 772
  • 1
  • 21
  • 31
11
votes
3 answers

Moving Accessibility Voiceover cursor focus to a specific element

I'm having an issue with moving the voiceover cursor to a specific element on viewDidAppear. I followed Apple's guidelines for focusing on a specific element, in this case a dismiss button, but the cursor ends up elsewhere Here is my Code: -…
3254523
  • 3,016
  • 7
  • 29
  • 43
11
votes
4 answers

Is there a way to check if "increase contrast" is enabled in the accessibility settings in iOS?

On iOS 7.0.3 turning on increased contrast mode removes the blur effects you'd normally see in the nav bar if you're using a bar tint color with an alpha less than 1.0, which makes the nav bar seem much more transparent than it is with the default…
Cam Saul
  • 1,706
  • 1
  • 16
  • 24
10
votes
1 answer

iOS: Is there a way to replace the default accessibility / voice over double tap action on an element with a custom one?

I know that it is possible to add custom accessibility actions by adding them to the accessibilityCustomActions array of the corresponding view. But that does not replace the standard action that is performed when you do a voice over tap (you will…
cr4sh_override
  • 273
  • 4
  • 10
10
votes
1 answer

Voice over mode - Scrolling to subviews that are off view in scrollview

I have a scroll view with a number of buttons as subviews. These subview buttons are also stored in an array. When I use the one tap slide gesture in the voice over accessibility mode to go through all UI elements in my view from top to bottom,…
flex007
  • 143
  • 1
  • 4
  • 10
9
votes
2 answers

HTML Audio accessibility with Input Range

Minimal problem example: https://codepen.io/sidouglas/pen/LYPZaOG When input range is focused, with either Chrome Vox or Mac's Voice over — every value of valuetext is read out continuously.
Simon
  • 2,484
  • 6
  • 35
  • 54
9
votes
1 answer

tvOS Landmarks with Supplementary Views in a collection view Accessibility

I am trying to copy the flow for Landmark Accessibility from Apple's Movie app. I have tried using a table view with a custom header and a standard header view with my cells having a collection view inside them and a collection view with a…
Lunarchaos42
  • 253
  • 4
  • 13
9
votes
2 answers

Custom VoiceOver actions in UITableViewCell

When a UITableView is editable, its UITableViewCells allow the user to perform custom actions when VoiceOver is on. The user can hear the available actions by swiping up or down while the VoiceOver cursor is on the cell and then invoke the actions…
Alexey Blinov
  • 1,684
  • 3
  • 17
  • 25
9
votes
2 answers

How to make a UISearchBar's bookmarks icon accessible?

I'm trying to improve Voice Over support in an app. I have a UISearchBar. I've set the showBookMarks property to YES. And I've set a custom image with: [searchbar setImage:icon forSearchBarIcon:UISearchBarIconBookmark…
rmaddy
  • 314,917
  • 42
  • 532
  • 579
8
votes
5 answers

How do I prevent UIaccessibility from saying "heading" for controls created inside viewforheaderinsection?

So, I have a tableview and inside the viewforheaderinsection, I create a view, create some controls such as buttons and segmented controls programmatically. I add those controls as subview of the view and then return the view. The problem is when…
Suraj
  • 81
  • 1
  • 2
8
votes
4 answers

Is it possible to use Xcode UI Testing on an app using SpriteKit?

I want to use UI testing for a game using SKSpriteKit. As my first tries did not work I wonder if it possible to use Xcode UI Testing with SpriteKit.
8
votes
2 answers

VoiceOver not scrolling to elements offscreen in landscape?

How can I make a VoiceOver scroll to elements offscreen in a UIScrollView. I have a UIScrollView. Inside this is a UIView containing a number of subviews. Inside these subviews are labels - something like below: Scroll View -> UIView -->…
collinsrj
  • 81
  • 1
  • 3
8
votes
2 answers

Containers in UIAccessibility

There's a "Containers" rotor option in Voiceover which allows the user to quickly navigate through "high level" sections of the screen via single finger swipe up and swipe down actions. For example, the Calendar app has three high level items:…
8
votes
2 answers

iOS Accessibility: make UITextField and specified subview accessible

I want to make a textfield and a subview on the text field accessible by VoiceOver. If I use UIAccessibilityContainer methods, I can only make the subviews accessible. Is there some way to do this?
livings124
  • 1,103
  • 1
  • 10
  • 23
1
2
3
36 37