E-mail List Archives
Thread: Apple Accessibility API
Number of posts in this thread: 4 (In chronological order)
From: Murphy, Sean
Date: Wed, Feb 26 2020 8:01PM
Subject: Apple Accessibility API
No previous message | Next message →
Is anyone on the list knowledgeable about how States work on the iOS platform?
For example if UIAccessibilityTraitButton is defined with the correct below properties:
accessibilityLabel - The accessibilityLabel should have to return the suitable word to describe the element.
accessibilityValue - Describes the value of an element
accessibilityHint - accessibilityHint can have a phrase to describe what happens when you choose action on an element
Does the object for button contain the relevant states? Can you custom build the states in an class / object?
Is there a dedicated list for accessibility iOS mobile?
Sean
From: joe
Date: Thu, Feb 27 2020 6:20AM
Subject: Re: Apple Accessibility API
← Previous message | Next message →
Hi Sean,
Unless the states are built into the native iOS components (UISlider,
UISwitch, etc.), then no.
Apple uses accessibility traits
(https://developer.apple.com/documentation/uikit/accessibility/uiaccessibili
ty/accessibility_traits?language=objc) for any common states (Selected,
NotEnabled [dimmed] and Adjustable)
If you need custom states, these have to be added to elements at runtime by
adding them to the end of the accessibilityLabel or potentially using the
accessibilityValue. IMO the accessibilityValue should be modified by
developers with caution because it can overwrite user input values (e.g. if
used on a UITextField)
iOS states are definitely not as well supported (beyond the 3 mentioned
above) as states are in HTMl with native elements and ARIA.
Thankx,
Joe Humbert
From: Jonathan Avila
Date: Thu, Feb 27 2020 7:28AM
Subject: Re: Apple Accessibility API
← Previous message | Next message →
Hi Sean, any UI elements that implement the UIAccessibility protocol will have all of those properties and methods available. However, setting a value on a control with a button trait won't have any impact on VoiceOver or other assistive technology. Based on some tests I did several years ago I was able to set these properties in code even if they are hidden in the UI of Xcode -- but setting extra properties was generally ignored by VoiceOver when they were not relevant to the to the control's traits.
It is not possible to create custom traits or properties -- although traits can be created in combination such as a button that is disabled, etc. Some combinations obviously won't make sense even if you can set those combination of traits in the code.
Jonathan
From: Murphy, Sean
Date: Thu, Feb 27 2020 3:48PM
Subject: Re: Apple Accessibility API
← Previous message | No next message
Guys,
This is really good information. I have got some old Apple material from their events which I will review later. I do find reading or finding the relevant information on the Apple site difficult.
I have an app that I am reviewing which is using a custom library (API). This app has two failures:
4.1.2 Name, role and Value
2.5.1 Pointer Gestures https://www.w3.org/WAI/WCAG21/Understanding/pointer-gestures
Visually it is a interactive bar chart showing months and values. The user can select a specific month to download that data. The selected month changes colour. Only 4 or 5 months are shown at a time, thus a swipe is required to navigate the chart. Voiceover announces the month and value only. The only way I can think of to address this issue is to modify the open source API. Providing buttons or icons to permit the chart to scroll back and forward. In relation to Voiceover to provide state and role information. State to indicate it has been selected and choosing a role that best reflects to the user what actions they can perform.
So more digging is required to work out how to achieve this.
Sean