information for developers on making sliders accessible

By alex wallis, 25 July, 2013

Forum
App Development and Programming
Hi all, I am sure many of you know how annoying it can be to have an ios app where either sliders are totally inaccessible, or where you have to tap and hold on them for them to adjust. I have been working with the umano developer so sliders in his app work better with VoiceOver. So, when I came across another app with similar issues I thought I would ask him for technical information I can give to the developer to fix the issue. As although we as users can explain accessibility issues I am sure technical information is much more use to developers especially when you have a developer who's English isn't great. Also explaining about sliders is much more complex than button labels and I am sure harder to solve. So, in case people find this useful and might want to pass it to developers here is the technical information I have been given on making sliders accessible.  If an element has the UIAccessibilityTraitAdjustable trait, it must also implement  the following methods. Incrementing will adjust the element so that it increases its content,  while decrementing decreases its content. For example, accessibilityIncrement will increase the value  of a UISlider, and accessibilityDecrement will decrease the value.  */    - (void)accessibilityIncrement NS_AVAILABLE_IOS(4_0); - (void)accessibilityDecrement NS_AVAILABLE_IOS(4_0); Hope that helps!

Options

Comments

By Dave Nason on Tuesday, July 23, 2013 - 05:44

Member of the AppleVis Editorial Team
Thanks Alex. I was in contact with the developer of the Jellylock jailbreak tweak a while back and he said he would like to make it VO accessible but just doesn't know how. I wonder if this info could help him.

By alex wallis on Tuesday, July 23, 2013 - 05:44

In reply to by Dave Nason

Hi, I have no idea, this information is specifically about sliders, there is also ios documentation about making accessible apps. Just a thought, but this has got me thinking, perhaps applevis should have a section for developers of resources such as links to the apple accessibility documentation etc.

Look for the "Developers" link on each AppleVis page and you will find a page of resources with accessibility information for developers (for example, here.) one of the best general overview articles, that can be read by lay users and developers alike, is the blog article by Matt Legend Gemmell. For insight into how things get fixed on a more "techie" level, I always liked the early Stanford University iTunes U course on iOS development that included a lecture by Chris Fleizach showing how to fix an actual app being designed to make it accessible.  These are all quite old examples.  The iTunes U course was in Spring 2009 (and back when it was still possible to point to individual podcast episodes in iTunes). They were great to view, because everything was so new at that point that the explanations had to set a context and work for all listeners, because there were very few experts at the time.  So, even though the examples were simple, you could follow along what was being done.

By James L on Wednesday, May 23, 2018 - 05:44

How can I implement for the two methods below to change adjustable controls with VoiceOver?
1. Simply swipe up/down with a one finger.
2. Double tap and hold with one finger, wait for VoiceOver sound effect, and slide your finger up/down.
How do you implement for the second behavior?

By TJT 2001 on Wednesday, May 23, 2018 - 05:44

I'm not an app developer, but I found <a href="https://developer.apple.com/documentation/objectivec/nsobject/1615076-accessibilityincrement">this information on incrementing a control</a> and <a href="https://developer.apple.com/documentation/objectivec/nsobject/1615076-accessibilityincrement">this information on decrementing a control.</a> I hope this is what you were looking for. A VoiceOver user can increment or decrement a control in this way by flicking up or down.

I discourage use of the double-tap, hold and flick gesture because it is very difficult to perform correctly. If you want to increment or decrement a control by a smaller element than by flicking, consider having "increment" and "decrement" buttons that allow the user to manipulate the slider by a more specific amount.

If you want more specific information on programming accessibility for iOS, don't forget <a href="developer.apple.com/accessibility/ios">Apple's official information</a>.