Re: Accessible animations
Re: Accessible animations
- Subject: Re: Accessible animations
- From: Clare Kasemset <email@hidden>
- Date: Mon, 11 Dec 2017 10:45:07 +0900
> On Dec 11, 2017, at 10:37, Ilya Konstantinov <email@hidden>
> wrote:
>
> Good point Christopher. Also, animations that produce an un-delightful delay
> are probably too long anyway.
>
> Let's take an example when we're showing a new button dynamically. If
> VoiceOver animations have *no* merit, then the code would be:
>
> public func animationDuration(_ duration: TimeInterval) -> TimeInterval {
> return (UIAccessibilityIsReduceMotionEnabled() ||
> UIAccessibilityIsVoiceOverRunning()) ? 0 : duration
> }
>
> UIView.animate(duration: animationDuration(0.3)) { self.myButton.alpha = 1.0 }
> UIAccessibilityPostNotification(UIAccessibilityLayoutChangedNotification, nil)
>
> If VoiceOver animations have *some* merit, then:
>
> func animationCompletionLayoutChanged(success: Bool) {
> UIAccessibilityPostNotification(UIAccessibilityLayoutChangedNotification,
> nil)
> }
>
> UIView.animate(duration: 0.3, animations: { self.myButton.alpha = 1.0 },
> completion: animationCompletionLayoutChanged)
This second example above seems like a good practice. As Christopher mentioned,
there is a range of sight abilities among VoiceOver users, so it may be
overkill to disable animations entirely.
>
> To clarify, I never intended to disable animations on
> UIAccessibilityIsSwitchControlRunning() :)
>
> As to my first question, I'd love some guidance on what kind of animations
> are deemed undesirable (from a usability standpoint) when "reduce motion" is
> turned on.
For Reduce Motion, some animations that should be considered are:
- two simultaneous animations where the animations happen at different speeds
(since it can give the effect of depth and seem more real)
- animations with physics or bounce effects (e.g. in a Messages conversation,
where scrolling normally animates the balloons with physics, they track your
finger directly if Reduce Motion is enabled)
- realistic zooming animations (e.g. the app launch animation becomes a
crossfade with Reduce Motion enabled)
People's reactions to animations can vary widely, so it's hard to give an
exhaustive list, but hopefully this is enough to get you started.
>
> On Sun, Dec 10, 2017 at 4:48 PM Christopher Hills <email@hidden
> <mailto:email@hidden>> wrote:
>> I would think that with VoiceOver on, you'd want to disable animations
>> entirely, since animations would be an entirely un-delightful delay to a
>> blind user.
>
> I would think that not all VoiceOver/Switch Control uses are completely blind
> and get helpful cues for a lot of UI animation.
>
> Sent from my iPhone
>
> On 11 Dec 2017, at 8:26 am, Ilya Konstantinov <email@hidden
> <mailto:email@hidden>> wrote:
>
>> I have two questions about reducing animations to increase accessibility.
>>
>> 1) What are the guidelines for animations with accessibility? I would think
>> that with VoiceOver on, you'd want to disable animations entirely, since
>> animations would be an entirely un-delightful delay to a blind user. How
>> about the "Reduce Motion" setting? What kinds of animations are particularly
>> problematic in what scenarios?
>>
>> 2) Technically, I was noticing that UIView.animate does not respect the
>> "Reduce Motion" setting. I was considering adding a wrapper:
>> public func animationDuration(_ duration: TimeInterval) -> TimeInterval {
>> return (UIAccessibilityIsReduceMotionEnabled() ||
>> UIAccessibilityIsVoiceOverRunning()) ? 0 : duration
>> }
>>
>> Am I missing some built-in functionality, or is this the preferred solution?
>>
>> Thanks!
>>
>
>> _______________________________________________
>> Do not post admin requests to the list. They will be ignored.
>> Accessibility-dev mailing list (email@hidden
>> <mailto:email@hidden>)
>> Help/Unsubscribe/Update your Subscription:
>>
>>
>> This email sent to email@hidden
>> <mailto:email@hidden>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Accessibility-dev mailing list (email@hidden)
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Accessibility-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden