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

iOS - Swift - Accessibility VoiceOver problem with a UICollectionView and ScrollToItemAtIndexPath

I have a problem involving a UICollectionView or a UITableView and the accessibility. The flow is as follows. Loading the viewcontroller, I perform a scrollToItemAtIndexPath to display a specific cell as the first item. I activate the voice over…
2
votes
0 answers

Why is my hidden IOS button still selectable as an accessibility item?

I've got a UIButton in my IOS app that I'm trying to remove when users have Voiceover enabled. I'm able to hide it, but it still appears in the Voiceover swipe list AND is still selectable, if I happen to click in that area of the screen. I've…
szaske
  • 1,887
  • 22
  • 32
2
votes
2 answers

How do I use python to get the UI elements of a native mac app?

I need to get the text from UI elements on a mac GUI. One possible route might through pyobjc and…
SwimBikeRun
  • 4,192
  • 11
  • 49
  • 85
2
votes
1 answer

UIAccessibilityCustomAction selector is not working for static method

When i pass a static/class method in selector param of UIAccessibilityCustomAction, it is not getting triggered. The same method works for gesture recognizers/add targets functions The custom action is set and announced properly. So there's no…
gsp1294
  • 87
  • 1
  • 9
2
votes
2 answers

Setting accessibilityLabel for UITableView header text

I am trying to find a way to set accessibilityLabel for my tableview's header text. -(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section { return @"Table View Header"; } In my case, my accessibility…
Bijoy Thangaraj
  • 5,434
  • 4
  • 43
  • 70
2
votes
1 answer

Swift 5.2 UIAccessibility.isAssistiveTouchRunning never returns true nor does UIAccessibility.assistiveTouchStatusDidChangeNotification get triggered

I would like to know if AssistiveTouch is enabled or not, because my App wants to give the user instructions how to set it up properly for a certain use case. I tried getting UIAccessibility.isAssistiveTouchRunning but it never returns true. I even…
krjw
  • 4,070
  • 1
  • 24
  • 49
2
votes
1 answer

iOS 13 Voice Control Accessibility Feature - is there a way to do more custom actions (rather than just linking to accessibility labels)?

The new Voice Control API is super cool, it's the one where you can speak to your iOS device and perform actions. (Video from Apple) My only gripe is that finding information on it is kinda difficult. I don't see any WWDC videos out there on it, and…
2
votes
2 answers

Is there a way to get all device's accessibility settings using UIAccessibility?

I need to delivery content to the user based on some accessibility settings state (on/off). It seems that UIAccessibility doesn't expose all the settings. For instance, I know the state of the Closed Captions setting by…
2
votes
1 answer

Is there a way to ignore accessibility element only while navigating via swipes?

As you might know, iOS VoiceOver mode provides two ways to navigate through elements on the screen. One is touching directly inside the frame of an interface element, and the other is traversing elements one by one in order of appearance, by swiping…
Şafak Gezer
  • 3,928
  • 3
  • 47
  • 49
2
votes
1 answer

How can I change the order of accessibility elements in a view controller without losing access to the navigation bar?

I've got a view controller that contains a table view along with a few "floating" controls that appear visually at the bottom of the screen. When navigating with VoiceOver, it would make more sense for the user to navigate like: back button…
Greg
  • 10,360
  • 6
  • 44
  • 67
2
votes
1 answer

Toast popup for dynamic type

I've noticed that when you turn on dynamic type, there are apps such as Settings that will display a toast message with the text of certain controls when you hold a finger on the control. Does anyone know if this is built in functionality or do I…
SeanT
  • 1,741
  • 1
  • 16
  • 24
2
votes
0 answers

Set accessibility order for the element in the Xamarin IOS

I have tried to set the accessibility reading order in the voiceover when we swipe right /left .But i don't know how to set that in the xamarin IOS. I have also want to know that how to move the focus to the particular element .
cruzier
  • 358
  • 2
  • 14
2
votes
1 answer

JAWS not reading the Control.AccessibleDescription property

I'm using JAWS (2019) as a screen reader for a WinForms application. When I set the Control.AccessibleName property - JAWS read it properly but when I change the Control.AccessibleDescription property JAWS just doesn't read it. I tried to use…
2
votes
0 answers

VoiceOver can access element behind modal even when accessibilityViewIsModal on modal is set

I have a custom view that is a popup and it has accessibilityViewIsModal = true, but VoiceOver can still focus on the elements behind the modal. Is there any other way to keep the focus inside of the popup until the user dismiss the popup?
matchifang
  • 5,190
  • 12
  • 47
  • 76
2
votes
1 answer

ios voiceover slider double tap and hold, but for custom view

I've created a custom view that acts like a UISlider - there is a "track", and a handle to "grab" to change the value. For particular reasons, I can't just make it a subclass of UISlider. I'm trying to make this slider as accessible as possible with…
Hoopes
  • 3,943
  • 4
  • 44
  • 60