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
2
votes
0 answers

Set custom UIAccessibility on UITabBarItem

I'm programatically setting accessibility on all my UITabBarItem's (label, value & hint) but when I test the accessibility - it correctly see's the tab, however it's relaying the system default (not what I have set in my accessibility…
MrChrisBarker
  • 141
  • 2
  • 11
2
votes
1 answer

XCode9: XCUITest gives Runner UIAccessibility Error

I'm getting a lot of error when run XCUITests on real device: Runner [AXValidations] UIAccessibility Error adding -[PHAsset accessibilityLabel] Runner [AXValidations] UIAccessibility Error adding -[PLManagedAsset accessibilityLabel]…
2
votes
0 answers

How to make UIAccessibility to treat all clickable UITableViewCell's as button without disclosure indicator?

Currently, any UITableViewCell with disclosure indicator has an Accessibility Voiceover text ending in 'Button'. This seems to appear only when the disclosure indicator is turned on for that cell. Due to some design constraints, I'm unable to use…
as diu
  • 1,010
  • 15
  • 31
2
votes
1 answer

iOS - Voiceover issue in tableview alphabetic filters

I am implementing voiceover in my existing application. I am using voiceover in the table view alphabet filter. When I click any one of the alphabets from alphabet filter, the corresponding content list is not displayed in the table view. I just…
Nathan
  • 45
  • 5
2
votes
1 answer

VoiceOver and Scrolling in OpenGL backed UIViews

I am looking for advice on how to make a scrollable list drawn with OpenGL into a CAEAGLLayer backed UIViews accessible with VoiceOver. Ideally, the scrollable list in OpenGL should behave just like a native UIScrollView: When the user swipes…
2
votes
1 answer

iOS Voiceover - detect if vertical navigation is enabled on rotor?

In iOS, is there a way to detect if a user has 'Vertical Navigation' enabled on their UIAccessibility Voiceover Rotor? Thank you.
edhnb
  • 2,122
  • 3
  • 24
  • 38
2
votes
1 answer

iOS Accessibility - control which UI object gets the focus

I'm having trouble identifying why a UIButton ( specifically a UIBarButtonItem, the menu button in my case) gets the accessibility focus when a UIViewController changes. The problem is it "cuts" the announcement being read and takes the focus at no…
giLisH
  • 196
  • 1
  • 12
2
votes
0 answers

tvOS High Contrast shrinking UITableViewCell

Was testing accessibility for my tvOS APP and noticed when high contrast is turned on my UITableViewCells shrink when focused. This doesn't happen with any other UI elements just all the TableViewCells. Why is that? And how do I make it stop? The…
justDjce
  • 21
  • 2
2
votes
1 answer

How do you implement the UIAccessibility protocol?

The "Accessibility Programming Guide For iOS" states: Another way is to implement the isAccessibilityElement method of the UIAccessibility protocol in the implementation of your custom subclass. The following code snippet shows how to do this: But…
yves Baumes
  • 8,836
  • 7
  • 45
  • 74
2
votes
0 answers

What to do stop the UIScreenChangeNotification from interrupting the UIAccessibilityAnnouncementNotification?

UIAccessibilityPostNotification(UIAccessibilityLayoutChangedNotification, _navBar); dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ …
dashuser
  • 181
  • 1
  • 3
  • 16
2
votes
1 answer

React-Native : Voice Over (iOS) to read the new element

I am new to react-native and from frontend background development and UX. We are using react-native for building an application, everything was fine until we really started focusing on VoiceOver and TalkBack. The problem is whenever new elements…
Deekshit-CUA
  • 129
  • 9
2
votes
3 answers

Preserve focus on closing a modal or flyout

I have a question on accessibility. There are several layers/modals or flyout windows which are opened on click of a button or link. I will need to preserve the focus on the original element which was clicked to open a modal or popup or flyout once…
2
votes
3 answers

What gets called instead of - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event when Accessibility(voice over is on)

Recently I have put a breakpoint in a UIViews method - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event { } method and checked if the compiler stops here when a user taps on the UIView while voiceover is on, but it never came to the…
Shabarinath Pabba
  • 1,359
  • 2
  • 13
  • 22
2
votes
0 answers

XCUIElement Textfield Custom class

So I have a custom UITextField that also has a floating label (using JVFloatLabeledTextField) that is in a custom view. In my custom view class I set the accessibility element to the JVFloatLabelTextField like so CustomView.h …
Jenel Ejercito Myers
  • 2,553
  • 2
  • 16
  • 24
2
votes
1 answer

Weird UIAccessibility Crash On Ipad Mini 2

Our app used Crashlytics to track app crash. One really weird crash was logged in Crashlytics. It only happened when using ipad mini. I never experienced the issue when testing on iphone 6s and iphone 6s plus. UIAccessibility…