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
3
votes
1 answer

XCUIElement isAccessibilityElement returning as false even though the element is reported as Is Accessibility Element in View Hierarchy

There's an XCUIElement my automated test is validating accessibility on but isAccessibilityElement is returning false. I checked the storyboard file and Accessibility has the checkbox marked. I checked the View Hierarchy as I was debugging the app…
Jason
  • 808
  • 6
  • 25
3
votes
1 answer

Understanding _accessibilitySearchSubtreesAfterChildElement error in voiceover navigation

I have a view controller with a UITableView. The top cell in the tableView is the topmost accessibility element on the screen. On iPads, when left flicking from the top cell, behaviour is as expected: it registers the sound that there are no more…
c_booth
  • 2,185
  • 1
  • 13
  • 22
3
votes
2 answers

Focus order of modal windows

Where would the first focus be on when a modal window opens? Some say the focus order should be sequential, so the first tab stop should be on the close button and some say, it should be on the first logically actionable element. According to me,…
user 9631883
  • 466
  • 5
  • 14
3
votes
1 answer

Accessibility issue on IOS. aria-expanded not detected by voiceover

I am encountering accessibility issue on iOS using voiceover. "aria-expanded" not reading expanded when bootstrap button drop-down is expanded. Reference link: https://getbootstrap.com/docs/4.0/components/dropdowns/ Using the same button…
Deepak
  • 305
  • 1
  • 6
  • 18
3
votes
2 answers

Having trouble running node js script with Axe accessibility tool on Windows 7.

I am running this script that i found from https://www.npmjs.com/package/axe-reports to create human-readable reports for the Axe accessibility tool. I am running the example: var AxeBuilder = require('axe-webdriverjs'), AxeReports =…
monkey123
  • 183
  • 1
  • 3
  • 11
3
votes
2 answers

textField.shouldChangeCharactersIn not called with Braille Screen Input

I’m working on an app that uses accessibility. When the user clicks in a UITextField and writes a letter, the textField.shouldChangeCharactersIn method gets called. This happens without problems when voiceOver is switched on or off. But if the users…
M Mayer
  • 31
  • 2
3
votes
1 answer

Is role="tooltip" important?

Most Screen readers read the custom tooltip information by default. role="tooltip" does not seem to do anything additional, like it doesnt inform user that its tooltip. Why do we need to use role="tooltip" for the tooltip container? Any specific…
user 9631883
  • 466
  • 5
  • 14
3
votes
2 answers

Dismiss iOS form sheet modal via outside tap + VoiceOver mode

On an iPad, you can use controller.modalPresentationStyle = UIModalPresentationFormSheet to show a centered modal on the screen. A common technique is to allow the user to dismiss the modal by clicking "outside" or "behind" it. This is covered in…
tmm1
  • 2,025
  • 1
  • 20
  • 35
3
votes
0 answers

Forward accessibility scroll not working

This problem has been bothering me for few days now, I have probably tried looking all the questions available but nothing seems to solve my problem. I have a UIPageViewController and when VO is on backward 3 finger scroll is working but when I try…
Arun Kumar
  • 471
  • 1
  • 4
  • 14
3
votes
2 answers

Accessibility for UITextField with custom inputView (VoiceOver)

I have an UITextField that uses a UIPickerView with two columns as inputView. Image: When the user taps on the Target Range cell, the picker at the bottom appears. I'm wondering how to optimise the VoiceOver experience for this setup. When…
hendra
  • 2,531
  • 5
  • 22
  • 34
3
votes
1 answer

c++ enable accessibility inspection in Google Chrome

I'm trying to access text of Google Chrome's webpage to read it and offer some actions (for example, remind). Everything works good, but I need to enable accessibility inspection programmatically. I use this code: wchar_t…
Bruce
  • 31
  • 5
3
votes
3 answers

iOS VoiceOver wait on element to finish reading before changing to next element

I have a button that can toggle a label being shown: class ViewController: UIViewController { @IBOutlet weak var label: UILabel! @IBOutlet weak var button: UIButton! override func viewDidLoad() { super.viewDidLoad() …
Adam Johns
  • 35,397
  • 25
  • 123
  • 176
3
votes
1 answer

UIAccessibilityCustomAction selector - why return BOOL

Why should the selector for UIAccessibilityCustomAction object return BOOL? What difference does it make whether it's true or false?
dobranoc
  • 465
  • 1
  • 4
  • 17
3
votes
1 answer

The voice Over reads the Label's text twice

I'm working on making my app accessible for blind people by using the Voice over. I have tableView that contains custom cell with 4 UILabel and Custom HeaderView that has one UILabel as well. My issue that the voice over reads the UIlabel's text…
Shady Mostafa
  • 815
  • 10
  • 15
3
votes
1 answer

How does JAWS treat ARIA roles?

How does JAWS interpret ARIA roles we define in the html? Does it have any mapping with the keystrokes we enter? For example if we are setting the role=checkbox, in this scenario does the JAWS keystroke X detect this role and read it out. If we do…
namrata
  • 2,235
  • 5
  • 28
  • 35