🎓 EASYTUTORGUIDE

Practical tutorials, tools, courses, digital skills, and business promotion.

★ Free Learning
Translate this lesson:
Arabic and Persian use RTL layout. CSS and HTML code remain LTR. Long translated text wraps on all device sizes.

CSS • Chapter 47 • Foundations to Production

Motion Accessibility

Every topic includes a CSS/HTML coding example, ten focused teaching examples, code explanation, expected result, practice, and responsive/translated-layout checks.

5 topics5 coding examples50 teaching examples10 Q&A
Estimated reading time0% read

47.1 prefers-reduced-motion

prefers-reduced-motion is part of the CSS system covered in Chapter 47. The key is to understand what box, selector, cascade rule, layout algorithm, or user preference the declaration affects, then test the result at more than one viewport size. The goal is to connect the syntax to the browser's layout and cascade decisions rather than memorize a property name.

For prefers-reduced-motion in Chapter 47, inspect the matched selector, computed value, containing block or formatting context, intrinsic size, and any min/max constraints. When translation is enabled, also inspect whether longer text or RTL direction changes the available inline space.

Start with one small example for prefers-reduced-motion, resize the viewport, increase text size, translate the label, and add a competing rule. This shows whether the technique remains predictable under real content rather than only in a fixed desktop mockup. This explanation is specific to Chapter 47, topic 1.

Concept in plain language

prefers-reduced-motion is part of the CSS system covered in Chapter 47. The key is to understand what box, selector, cascade rule, layout algorithm, or user preference the declaration affects, then test the result at more than one viewport size.

10 teaching examples

  1. Example 1: Smallest useful case

    Build a minimal article for prefers-reduced-motion. Keep only the declarations needed to see the behavior clearly, then inspect the computed styles. Chapter 47, topic 1, example 1.

  2. Example 2: Change one value

    Change one important CSS value in the profile panel example for prefers-reduced-motion. Predict the visual difference before reloading the page. Chapter 47, topic 1, example 2.

  3. Example 3: Narrow-screen test

    Test prefers-reduced-motion in the search form at 320px, 375px, and tablet width. Watch for min-content sizing, unwrapped text, and elements that refuse to shrink. Chapter 47, topic 1, example 3.

  4. Example 4: Translated-text test

    Translate the dashboard into a language with longer labels while using prefers-reduced-motion. Confirm buttons, headings, and navigation wrap without widening the page. Chapter 47, topic 1, example 4.

  5. Example 5: Arabic/Persian test

    Switch the photo gallery to Arabic or Persian. Verify logical spacing, start/end alignment, sidebar direction, and LTR code islands. Chapter 47, topic 1, example 5.

  6. Example 6: Accessibility test

    Check prefers-reduced-motion in the pricing table with keyboard focus, zoom, reduced motion, forced colors, and high text scaling where relevant. Chapter 47, topic 1, example 6.

  7. Example 7: Cascade test

    Add a competing rule to the lesson sidebar and determine why the declaration for prefers-reduced-motion wins or loses using the browser's Styles and Computed panels. Chapter 47, topic 1, example 7.

  8. Example 8: Content-stress test

    Fill the contact form with very long words, URLs, translated text, images, and nested controls. Adjust prefers-reduced-motion without hiding meaningful content. Chapter 47, topic 1, example 8.

  9. Example 9: Refactoring test

    Rewrite the button group so prefers-reduced-motion uses reusable tokens, logical properties, or a component class while preserving the same behavior. Chapter 47, topic 1, example 9.

  10. Example 10: Production review

    Review prefers-reduced-motion in the data table for browser support, fallback behavior, RTL, small screens, print, motion preferences, and maintainability. Chapter 47, topic 1, example 10.

CSS/HTML coding example

<!-- HTML -->
<div>Reduced-motion CSS</div>

<style>
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; } }
</style>

Step-by-step code explanation

  1. Identify the selector and declaration that demonstrate prefers-reduced-motion.
  2. Read the HTML structure first so you know which box or relationship the CSS is styling.
  3. The media query respects a user's reduced-motion preference.
  4. Resize the viewport and test long translated content. Confirm that flex/grid items use min-width:0 where needed and that only code or genuinely wide content scrolls locally.
  5. Switch to Arabic or Persian and verify logical start/end spacing, text alignment, sidebar direction, and LTR isolation for code.

Expected result: The browser visibly demonstrates prefers-reduced-motion without requiring the page to exceed the viewport width. If the example contains wide code, only the code block scrolls horizontally. This expected result belongs to Chapter 47, topic 1.

Practice exercise

Build a fresh example for prefers-reduced-motion from Chapter 47. Change one value, inspect the computed styles, test at 320px and tablet width, translate the visible text, switch the page to RTL, and explain why the final declaration or layout behavior occurs.

47.2 Reducing Essential Motion

Reducing Essential Motion is part of the CSS system covered in Chapter 47. The key is to understand what box, selector, cascade rule, layout algorithm, or user preference the declaration affects, then test the result at more than one viewport size. The goal is to connect the syntax to the browser's layout and cascade decisions rather than memorize a property name.

For Reducing Essential Motion in Chapter 47, inspect the matched selector, computed value, containing block or formatting context, intrinsic size, and any min/max constraints. When translation is enabled, also inspect whether longer text or RTL direction changes the available inline space.

Start with one small example for Reducing Essential Motion, resize the viewport, increase text size, translate the label, and add a competing rule. This shows whether the technique remains predictable under real content rather than only in a fixed desktop mockup. This explanation is specific to Chapter 47, topic 2.

Concept in plain language

Reducing Essential Motion is part of the CSS system covered in Chapter 47. The key is to understand what box, selector, cascade rule, layout algorithm, or user preference the declaration affects, then test the result at more than one viewport size.

10 teaching examples

  1. Example 1: Smallest useful case

    Build a minimal dashboard for Reducing Essential Motion. Keep only the declarations needed to see the behavior clearly, then inspect the computed styles. Chapter 47, topic 2, example 1.

  2. Example 2: Change one value

    Change one important CSS value in the photo gallery example for Reducing Essential Motion. Predict the visual difference before reloading the page. Chapter 47, topic 2, example 2.

  3. Example 3: Narrow-screen test

    Test Reducing Essential Motion in the pricing table at 320px, 375px, and tablet width. Watch for min-content sizing, unwrapped text, and elements that refuse to shrink. Chapter 47, topic 2, example 3.

  4. Example 4: Translated-text test

    Translate the lesson sidebar into a language with longer labels while using Reducing Essential Motion. Confirm buttons, headings, and navigation wrap without widening the page. Chapter 47, topic 2, example 4.

  5. Example 5: Arabic/Persian test

    Switch the contact form to Arabic or Persian. Verify logical spacing, start/end alignment, sidebar direction, and LTR code islands. Chapter 47, topic 2, example 5.

  6. Example 6: Accessibility test

    Check Reducing Essential Motion in the button group with keyboard focus, zoom, reduced motion, forced colors, and high text scaling where relevant. Chapter 47, topic 2, example 6.

  7. Example 7: Cascade test

    Add a competing rule to the data table and determine why the declaration for Reducing Essential Motion wins or loses using the browser's Styles and Computed panels. Chapter 47, topic 2, example 7.

  8. Example 8: Content-stress test

    Fill the media player with very long words, URLs, translated text, images, and nested controls. Adjust Reducing Essential Motion without hiding meaningful content. Chapter 47, topic 2, example 8.

  9. Example 9: Refactoring test

    Rewrite the notification so Reducing Essential Motion uses reusable tokens, logical properties, or a component class while preserving the same behavior. Chapter 47, topic 2, example 9.

  10. Example 10: Production review

    Review Reducing Essential Motion in the language selector for browser support, fallback behavior, RTL, small screens, print, motion preferences, and maintainability. Chapter 47, topic 2, example 10.

CSS/HTML coding example

<!-- HTML -->
<div class="demo reducing-essential-motion">CSS topic: Reducing Essential Motion</div>

<style>
.reducing-essential-motion {
  padding: 1rem;
  border: 1px solid #94a3b8;
}
</style>

Step-by-step code explanation

  1. Identify the selector and declaration that demonstrate Reducing Essential Motion.
  2. Read the HTML structure first so you know which box or relationship the CSS is styling.
  3. The selector targets the demonstration for Reducing Essential Motion, and the declaration changes a visible part of its presentation.
  4. Resize the viewport and test long translated content. Confirm that flex/grid items use min-width:0 where needed and that only code or genuinely wide content scrolls locally.
  5. Switch to Arabic or Persian and verify logical start/end spacing, text alignment, sidebar direction, and LTR isolation for code.

Expected result: The browser visibly demonstrates Reducing Essential Motion without requiring the page to exceed the viewport width. If the example contains wide code, only the code block scrolls horizontally. This expected result belongs to Chapter 47, topic 2.

Practice exercise

Build a fresh example for Reducing Essential Motion from Chapter 47. Change one value, inspect the computed styles, test at 320px and tablet width, translate the visible text, switch the page to RTL, and explain why the final declaration or layout behavior occurs.

47.3 Pausing Decorative Motion

Pausing Decorative Motion is part of the CSS system covered in Chapter 47. The key is to understand what box, selector, cascade rule, layout algorithm, or user preference the declaration affects, then test the result at more than one viewport size. The goal is to connect the syntax to the browser's layout and cascade decisions rather than memorize a property name.

For Pausing Decorative Motion in Chapter 47, inspect the matched selector, computed value, containing block or formatting context, intrinsic size, and any min/max constraints. When translation is enabled, also inspect whether longer text or RTL direction changes the available inline space.

Start with one small example for Pausing Decorative Motion, resize the viewport, increase text size, translate the label, and add a competing rule. This shows whether the technique remains predictable under real content rather than only in a fixed desktop mockup. This explanation is specific to Chapter 47, topic 3.

Concept in plain language

Pausing Decorative Motion is part of the CSS system covered in Chapter 47. The key is to understand what box, selector, cascade rule, layout algorithm, or user preference the declaration affects, then test the result at more than one viewport size.

10 teaching examples

  1. Example 1: Smallest useful case

    Build a minimal lesson sidebar for Pausing Decorative Motion. Keep only the declarations needed to see the behavior clearly, then inspect the computed styles. Chapter 47, topic 3, example 1.

  2. Example 2: Change one value

    Change one important CSS value in the contact form example for Pausing Decorative Motion. Predict the visual difference before reloading the page. Chapter 47, topic 3, example 2.

  3. Example 3: Narrow-screen test

    Test Pausing Decorative Motion in the button group at 320px, 375px, and tablet width. Watch for min-content sizing, unwrapped text, and elements that refuse to shrink. Chapter 47, topic 3, example 3.

  4. Example 4: Translated-text test

    Translate the data table into a language with longer labels while using Pausing Decorative Motion. Confirm buttons, headings, and navigation wrap without widening the page. Chapter 47, topic 3, example 4.

  5. Example 5: Arabic/Persian test

    Switch the media player to Arabic or Persian. Verify logical spacing, start/end alignment, sidebar direction, and LTR code islands. Chapter 47, topic 3, example 5.

  6. Example 6: Accessibility test

    Check Pausing Decorative Motion in the notification with keyboard focus, zoom, reduced motion, forced colors, and high text scaling where relevant. Chapter 47, topic 3, example 6.

  7. Example 7: Cascade test

    Add a competing rule to the language selector and determine why the declaration for Pausing Decorative Motion wins or loses using the browser's Styles and Computed panels. Chapter 47, topic 3, example 7.

  8. Example 8: Content-stress test

    Fill the course card with very long words, URLs, translated text, images, and nested controls. Adjust Pausing Decorative Motion without hiding meaningful content. Chapter 47, topic 3, example 8.

  9. Example 9: Refactoring test

    Rewrite the navigation bar so Pausing Decorative Motion uses reusable tokens, logical properties, or a component class while preserving the same behavior. Chapter 47, topic 3, example 9.

  10. Example 10: Production review

    Review Pausing Decorative Motion in the article for browser support, fallback behavior, RTL, small screens, print, motion preferences, and maintainability. Chapter 47, topic 3, example 10.

CSS/HTML coding example

<!-- HTML -->
<div class="demo pausing-decorative-motion">CSS topic: Pausing Decorative Motion</div>

<style>
.pausing-decorative-motion {
  padding: 1rem;
  border: 1px solid #94a3b8;
}
</style>

Step-by-step code explanation

  1. Identify the selector and declaration that demonstrate Pausing Decorative Motion.
  2. Read the HTML structure first so you know which box or relationship the CSS is styling.
  3. The selector targets the demonstration for Pausing Decorative Motion, and the declaration changes a visible part of its presentation.
  4. Resize the viewport and test long translated content. Confirm that flex/grid items use min-width:0 where needed and that only code or genuinely wide content scrolls locally.
  5. Switch to Arabic or Persian and verify logical start/end spacing, text alignment, sidebar direction, and LTR isolation for code.

Expected result: The browser visibly demonstrates Pausing Decorative Motion without requiring the page to exceed the viewport width. If the example contains wide code, only the code block scrolls horizontally. This expected result belongs to Chapter 47, topic 3.

Practice exercise

Build a fresh example for Pausing Decorative Motion from Chapter 47. Change one value, inspect the computed styles, test at 320px and tablet width, translate the visible text, switch the page to RTL, and explain why the final declaration or layout behavior occurs.

47.4 Focus and Motion

Focus and Motion is part of the CSS system covered in Chapter 47. The key is to understand what box, selector, cascade rule, layout algorithm, or user preference the declaration affects, then test the result at more than one viewport size. The goal is to connect the syntax to the browser's layout and cascade decisions rather than memorize a property name.

For Focus and Motion in Chapter 47, inspect the matched selector, computed value, containing block or formatting context, intrinsic size, and any min/max constraints. When translation is enabled, also inspect whether longer text or RTL direction changes the available inline space.

Start with one small example for Focus and Motion, resize the viewport, increase text size, translate the label, and add a competing rule. This shows whether the technique remains predictable under real content rather than only in a fixed desktop mockup. This explanation is specific to Chapter 47, topic 4.

Concept in plain language

Focus and Motion is part of the CSS system covered in Chapter 47. The key is to understand what box, selector, cascade rule, layout algorithm, or user preference the declaration affects, then test the result at more than one viewport size.

10 teaching examples

  1. Example 1: Smallest useful case

    Build a minimal data table for Focus and Motion. Keep only the declarations needed to see the behavior clearly, then inspect the computed styles. Chapter 47, topic 4, example 1.

  2. Example 2: Change one value

    Change one important CSS value in the media player example for Focus and Motion. Predict the visual difference before reloading the page. Chapter 47, topic 4, example 2.

  3. Example 3: Narrow-screen test

    Test Focus and Motion in the notification at 320px, 375px, and tablet width. Watch for min-content sizing, unwrapped text, and elements that refuse to shrink. Chapter 47, topic 4, example 3.

  4. Example 4: Translated-text test

    Translate the language selector into a language with longer labels while using Focus and Motion. Confirm buttons, headings, and navigation wrap without widening the page. Chapter 47, topic 4, example 4.

  5. Example 5: Arabic/Persian test

    Switch the course card to Arabic or Persian. Verify logical spacing, start/end alignment, sidebar direction, and LTR code islands. Chapter 47, topic 4, example 5.

  6. Example 6: Accessibility test

    Check Focus and Motion in the navigation bar with keyboard focus, zoom, reduced motion, forced colors, and high text scaling where relevant. Chapter 47, topic 4, example 6.

  7. Example 7: Cascade test

    Add a competing rule to the article and determine why the declaration for Focus and Motion wins or loses using the browser's Styles and Computed panels. Chapter 47, topic 4, example 7.

  8. Example 8: Content-stress test

    Fill the profile panel with very long words, URLs, translated text, images, and nested controls. Adjust Focus and Motion without hiding meaningful content. Chapter 47, topic 4, example 8.

  9. Example 9: Refactoring test

    Rewrite the search form so Focus and Motion uses reusable tokens, logical properties, or a component class while preserving the same behavior. Chapter 47, topic 4, example 9.

  10. Example 10: Production review

    Review Focus and Motion in the dashboard for browser support, fallback behavior, RTL, small screens, print, motion preferences, and maintainability. Chapter 47, topic 4, example 10.

CSS/HTML coding example

<!-- HTML -->
<div class="demo focus-and-motion">CSS topic: Focus and Motion</div>

<style>
.focus-and-motion {
  padding: 1rem;
  border: 1px solid #94a3b8;
}
</style>

Step-by-step code explanation

  1. Identify the selector and declaration that demonstrate Focus and Motion.
  2. Read the HTML structure first so you know which box or relationship the CSS is styling.
  3. The selector targets the demonstration for Focus and Motion, and the declaration changes a visible part of its presentation.
  4. Resize the viewport and test long translated content. Confirm that flex/grid items use min-width:0 where needed and that only code or genuinely wide content scrolls locally.
  5. Switch to Arabic or Persian and verify logical start/end spacing, text alignment, sidebar direction, and LTR isolation for code.

Expected result: The browser visibly demonstrates Focus and Motion without requiring the page to exceed the viewport width. If the example contains wide code, only the code block scrolls horizontally. This expected result belongs to Chapter 47, topic 4.

Practice exercise

Build a fresh example for Focus and Motion from Chapter 47. Change one value, inspect the computed styles, test at 320px and tablet width, translate the visible text, switch the page to RTL, and explain why the final declaration or layout behavior occurs.

47.5 Motion-Safe Defaults

Motion-Safe Defaults is part of the CSS system covered in Chapter 47. The key is to understand what box, selector, cascade rule, layout algorithm, or user preference the declaration affects, then test the result at more than one viewport size. The goal is to connect the syntax to the browser's layout and cascade decisions rather than memorize a property name.

For Motion-Safe Defaults in Chapter 47, inspect the matched selector, computed value, containing block or formatting context, intrinsic size, and any min/max constraints. When translation is enabled, also inspect whether longer text or RTL direction changes the available inline space.

Start with one small example for Motion-Safe Defaults, resize the viewport, increase text size, translate the label, and add a competing rule. This shows whether the technique remains predictable under real content rather than only in a fixed desktop mockup. This explanation is specific to Chapter 47, topic 5.

Concept in plain language

Motion-Safe Defaults is part of the CSS system covered in Chapter 47. The key is to understand what box, selector, cascade rule, layout algorithm, or user preference the declaration affects, then test the result at more than one viewport size.

10 teaching examples

  1. Example 1: Smallest useful case

    Build a minimal language selector for Motion-Safe Defaults. Keep only the declarations needed to see the behavior clearly, then inspect the computed styles. Chapter 47, topic 5, example 1.

  2. Example 2: Change one value

    Change one important CSS value in the course card example for Motion-Safe Defaults. Predict the visual difference before reloading the page. Chapter 47, topic 5, example 2.

  3. Example 3: Narrow-screen test

    Test Motion-Safe Defaults in the navigation bar at 320px, 375px, and tablet width. Watch for min-content sizing, unwrapped text, and elements that refuse to shrink. Chapter 47, topic 5, example 3.

  4. Example 4: Translated-text test

    Translate the article into a language with longer labels while using Motion-Safe Defaults. Confirm buttons, headings, and navigation wrap without widening the page. Chapter 47, topic 5, example 4.

  5. Example 5: Arabic/Persian test

    Switch the profile panel to Arabic or Persian. Verify logical spacing, start/end alignment, sidebar direction, and LTR code islands. Chapter 47, topic 5, example 5.

  6. Example 6: Accessibility test

    Check Motion-Safe Defaults in the search form with keyboard focus, zoom, reduced motion, forced colors, and high text scaling where relevant. Chapter 47, topic 5, example 6.

  7. Example 7: Cascade test

    Add a competing rule to the dashboard and determine why the declaration for Motion-Safe Defaults wins or loses using the browser's Styles and Computed panels. Chapter 47, topic 5, example 7.

  8. Example 8: Content-stress test

    Fill the photo gallery with very long words, URLs, translated text, images, and nested controls. Adjust Motion-Safe Defaults without hiding meaningful content. Chapter 47, topic 5, example 8.

  9. Example 9: Refactoring test

    Rewrite the pricing table so Motion-Safe Defaults uses reusable tokens, logical properties, or a component class while preserving the same behavior. Chapter 47, topic 5, example 9.

  10. Example 10: Production review

    Review Motion-Safe Defaults in the lesson sidebar for browser support, fallback behavior, RTL, small screens, print, motion preferences, and maintainability. Chapter 47, topic 5, example 10.

CSS/HTML coding example

<!-- HTML -->
<div class="demo motion-safe-defaults">CSS topic: Motion-Safe Defaults</div>

<style>
.motion-safe-defaults {
  padding: 1rem;
  border: 1px solid #94a3b8;
}
</style>

Step-by-step code explanation

  1. Identify the selector and declaration that demonstrate Motion-Safe Defaults.
  2. Read the HTML structure first so you know which box or relationship the CSS is styling.
  3. The selector targets the demonstration for Motion-Safe Defaults, and the declaration changes a visible part of its presentation.
  4. Resize the viewport and test long translated content. Confirm that flex/grid items use min-width:0 where needed and that only code or genuinely wide content scrolls locally.
  5. Switch to Arabic or Persian and verify logical start/end spacing, text alignment, sidebar direction, and LTR isolation for code.

Expected result: The browser visibly demonstrates Motion-Safe Defaults without requiring the page to exceed the viewport width. If the example contains wide code, only the code block scrolls horizontally. This expected result belongs to Chapter 47, topic 5.

Practice exercise

Build a fresh example for Motion-Safe Defaults from Chapter 47. Change one value, inspect the computed styles, test at 320px and tablet width, translate the visible text, switch the page to RTL, and explain why the final declaration or layout behavior occurs.

Chapter 47 review — 10 questions and answers

1. What should you inspect first when prefers-reduced-motion does not work as expected?

Answer: Inspect the matched rules, computed value, box size, layout context, and inherited values for prefers-reduced-motion. Then reduce the example until the winning declaration is clear.

2. How should prefers-reduced-motion be checked before publishing?

Answer: Test prefers-reduced-motion on narrow and wide screens, with long translated text, at increased zoom, and in RTL where direction can affect layout. Add a fallback if browser support or user preferences require one.

3. What should you inspect first when Reducing Essential Motion does not work as expected?

Answer: Inspect the matched rules, computed value, box size, layout context, and inherited values for Reducing Essential Motion. Then reduce the example until the winning declaration is clear.

4. How should Reducing Essential Motion be checked before publishing?

Answer: Test Reducing Essential Motion on narrow and wide screens, with long translated text, at increased zoom, and in RTL where direction can affect layout. Add a fallback if browser support or user preferences require one.

5. What should you inspect first when Pausing Decorative Motion does not work as expected?

Answer: Inspect the matched rules, computed value, box size, layout context, and inherited values for Pausing Decorative Motion. Then reduce the example until the winning declaration is clear.

6. How should Pausing Decorative Motion be checked before publishing?

Answer: Test Pausing Decorative Motion on narrow and wide screens, with long translated text, at increased zoom, and in RTL where direction can affect layout. Add a fallback if browser support or user preferences require one.

7. What should you inspect first when Focus and Motion does not work as expected?

Answer: Inspect the matched rules, computed value, box size, layout context, and inherited values for Focus and Motion. Then reduce the example until the winning declaration is clear.

8. How should Focus and Motion be checked before publishing?

Answer: Test Focus and Motion on narrow and wide screens, with long translated text, at increased zoom, and in RTL where direction can affect layout. Add a fallback if browser support or user preferences require one.

9. What should you inspect first when Motion-Safe Defaults does not work as expected?

Answer: Inspect the matched rules, computed value, box size, layout context, and inherited values for Motion-Safe Defaults. Then reduce the example until the winning declaration is clear.

10. How should Motion-Safe Defaults be checked before publishing?

Answer: Test Motion-Safe Defaults on narrow and wide screens, with long translated text, at increased zoom, and in RTL where direction can affect layout. Add a fallback if browser support or user preferences require one.