User Agent and Assistive Technology Support Notes

Description

The objective of this technique is to associate a "Pause" or "Stop" action
for a Silverlight animation with a user interface control. This enables
a user to pause or stop an animation in Silverlight content.

The Silverlight animation system is generalized such that nearly any
Silverlight property of type Double, Point or Color can
be animated, or a property can cycle through discrete object values.
Thus the possibilities for which properties in the user interface can
be animated are quite broad. The general technique shown can be used
to pause or stop any Silverlight animation, including those that are
purely decorative.

Pause versus Stop

Silverlight has two discrete methods for animation control: a Pause method
and a Stop method. The difference in behavior is that Pause uses
whatever the last value was while the animation was still running,
and holds that value permanenently (unless the animation is restarted). Stop sets
the value to be whatever value existed before the animation was started.
However, calling Stop on an animation often results
in a behavior that looks like a "reset" to the user; this
is particularly true if the animation is animating an element's position
on screen. In many cases, what might be a conceptual "stop" for
the user is better accomplished by a "permanent Pause" in
the Silverlight animation API. Whether to call Pause or Stop is
an aesthetic decision and application authors can experiment to see
which behavior has the best appearance. If application authors choose
to use Stop, authors can simply replace the call to
.Pause() with a call to .Stop() for any code that is based on this
technique's example.

Examples

Example 1: Pausing a decorative animation

The following is the XAML UI. The animated object and the animation
behavior are both described in XAML, as is the control that users can
activate to pause the animation.

The following is the C# logic. One function is the "page" constructor,
which is what starts and loops the animation. The other function
is the event handler for the UI control (a button). The event handler
retrieves the animation definition from the page resources, and calls
the Pause method on the animation.

Resources

Tests

Procedure

Using a browser that supports Silverlight, open an HTML page that
references a Silverlight application through an object tag. For Silverlight
content with moving, blinking, scrolling or auto-updating content
that is the result of a running Silverlight animation:

Check for a mechanism to stop the movement, blinking, scrolling
or auto-updating.

Check that the movement, blinking, scrolling or auto-updating
stops when the mechanism is activated and does not restart by itself.

For pause, check that the animation can be restarted using a start
mechanism.

Expected Results

#3 is true.

If this is a sufficient technique for a success criterion, failing this test procedure does not necessarily mean that the success criterion has not been satisfied in some other way, only that this technique has not been successfully implemented and can not be used to claim conformance.