Re: Accessible animations
Re: Accessible animations
- Subject: Re: Accessible animations
- From: Ilya Konstantinov <email@hidden>
- Date: Mon, 11 Dec 2017 01:37:14 +0000
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)
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.
On Sun, Dec 10, 2017 at 4:48 PM Christopher Hills <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>
> 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)
> 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