亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Table of Contents
Desktop Browser Support
Mobile/Tablet Browser Support
Raising Awareness
Impact on Affected Users
Assessing Potential Harm
Animation as Progressive Enhancement
Practical Implementation
Animation's Value
Reduce, Don't Remove
Neurodivergence
Conclusion
Home Web Front-end CSS Tutorial Revisting prefers-reduced-motion

Revisting prefers-reduced-motion

Apr 21, 2025 am 11:18 AM

Revisting prefers-reduced-motion

Two years ago, I explored prefers-reduced-motion, a media query introduced in Safari 10.1 to improve web accessibility for users with vestibular disorders and epilepsy. The original article discussed the query's background, necessity, and implementation to prevent motion-induced issues.

This followed the excellent work of Orde Saunders on user queries and Val Head's insights on motion sensitivity in web animation.

Fast forward to 2019, and major desktop browsers now support this crucial feature! Safari led the way, followed closely by Firefox. Chrome joined later, with support starting from version 74.

Browser support details are available on caniuse.com (a number indicates support from that version onwards).

Desktop Browser Support

Browser Support
Chrome Yes
Firefox Yes
IE No
Edge No (but becoming Chrome-based)
Safari Yes

Mobile/Tablet Browser Support

Browser Support
Android Chrome Yes
Android Firefox Yes
Android (other) Partial
iOS Safari Yes

While Microsoft Edge currently lacks support, its integration with Chrome is imminent. This transition offers a potential upside: Edge's strong accessibility features might be incorporated into Chrome.

Raising Awareness

While some websites and apps utilize prefers-reduced-motion, its adoption remains surprisingly limited outside the CSS and accessibility communities. This isn't entirely unexpected; CSS features are often undervalued, and accessibility even more so.

It's understandable that developers might overlook a relatively new feature, especially in a fast-paced industry. Market priorities heavily influence developer focus. However, prefers-reduced-motion is library-agnostic and integrates with OS-level settings, suggesting long-term relevance.

Its true value lies not in impressing recruiters but in enhancing the lives of affected users. This simple media query can prevent significant discomfort for users simply browsing or interacting with a website.

Impact on Affected Users

Disability is complex and multifaceted, encompassing a wide range of permanent, temporary, environmental, and situational factors. Many people mistakenly focus solely on visual impairments. The impact of disabilities varies greatly, and what helps one person might harm another.

For individuals with vestibular disorders, migraines, or seizure triggers, web browsing can be challenging. Unexpected animations can trigger debilitating symptoms. This is particularly problematic for those whose work relies heavily on web applications. They may lack control over their work devices or job options.

It's a misconception that everyone is aware of their condition or its triggers. The initial triggering event can sometimes heighten sensitivity. Facundo Corradini's article, "Accessibility for Vestibular Disorders," eloquently describes this experience.

Furthermore, not all assistive technology users are tech-savvy. They may be unaware of OS settings or browser extensions that mitigate motion. Consider users with locked-down corporate devices, those unfamiliar with their device's capabilities, or those using inexpensive or older devices that lack support for prefers-reduced-motion.

Assessing Potential Harm

Animation intended to encourage engagement can conversely drive users away. While difficult to quantify, this negative impact is real. Intentional harm is easier to measure, though addressing it presents further challenges.

Significant harm to a substantial user base affects branding. Excessive or poorly implemented animation can deter users, even if they can't articulate the reason.

We cannot and should not know the specific circumstances of every user. A proactive, considerate approach is essential.

Animation as Progressive Enhancement

Not all devices render animation equally well. Low-power devices may struggle, and specialized browsing modes (like Reader Mode) may alter or remove animation entirely. This underscores the importance of robust design.

Animation may not always behave as intended in zoomed viewports or Reader Mode. Important elements could be pushed out of view, resulting in a jarring visual experience.

Practical Implementation

To enhance awareness and consideration for animation's potential downsides, we can proactively incorporate a media query to disable animation for users who prefer it or have devices that can't handle it smoothly. This targets both prefers-reduced-motion and devices with slow screen refresh rates using the update media feature.

@media screen and
  (prefers-reduced-motion: reduce),
  (update: slow) {
  * {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
}

This forces all animations to complete imperceptibly. It functions for users requesting reduced motion or devices with slow refresh rates (e.g., e-ink screens). Maintaining animation-duration and transition-duration ensures functionality while preventing issues.

This approach aims to:

  1. Increase awareness of the media features.
  2. Encourage thoughtful consideration of animation's impact.
  3. Promote more maintainable stylesheets.

Animation's Value

Beyond vestibular disorders and photosensitivity, cognitive disabilities must be considered. The World Health Organization estimates 300 million people worldwide are affected by depression, which can significantly impair interaction with the environment.

Animation can be beneficial for some cognitive disabilities, aiding comprehension and communication. Val Head's work highlights its potential to improve problem-solving, recall, and skill acquisition while reducing cognitive load.

Reduce, Don't Remove

We shouldn't eliminate animation entirely. prefers-reduced-motion suggests reduction, not removal. Using the CSS cascade, we can manage animation on a per-component basis. If animation is crucial to understanding, we can slow it down to avoid triggering issues.

CSS Custom Properties can streamline this process, even enabling a site-wide animation preference widget.

/* Default durations */
:root {
  --animation-duration: 250ms;
  --transition-duration: 250ms;
}

/* Contextual shortening */
@media (prefers-reduced-motion: reduce), (update: slow) {
  :root {
    --animation-duration: 0.001ms !important;
    --transition-duration: 0.001ms !important;
  }
}

@media (prefers-reduced-motion: reduce), (update: slow) {
  * {
    animation-duration: var(--animation-duration);
    animation-iteration-count: 1 !important;
    transition-duration: var(--animation-duration);
  }
}

/* Update duration for critical animation */
@media (prefers-reduced-motion: reduce), (update: fast) {
  .c-educational-concept {
    --animation-duration: 6000ms !important;
    animation-name: educational-concept;
    animation-duration: var(--animation-duration);
  }
}

Testing slowed animation requires input from users susceptible to motion-related issues. A better approach is to gather information about past triggers and compare them to the implemented animation.

Neurodivergence

Shell Little, an Accessibility Specialist, provides valuable insights on neurodivergence:

Web animation can be beneficial for some neurodivergent users, but the same animation can be a barrier for others. The WCAG's Pause, Stop, Hide guideline is limited, applying only to animations longer than 5 seconds and exempting essential motion. prefers-reduced-motion offers a user-controlled solution, empowering individuals to decide when and where animation is displayed. This is especially crucial for users with attention-related disabilities or sensory processing sensitivities. Autoplaying content is a common frustration, and prefers-reduced-motion could address this.

Conclusion

Animation should be used responsibly. Factors to consider include: raising awareness of potential issues, mitigating legal risks, enhancing user experience, understanding device capabilities and limitations, and respecting user data and battery life.

Spreading awareness of prefers-reduced-motion and responsible animation practices is crucial. Sharing experiences of problematic animations can help build a valuable reference for developers. This collective effort can make the web more inclusive and accessible for everyone.

The above is the detailed content of Revisting prefers-reduced-motion. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undress AI Tool

Undress AI Tool

Undress images for free

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

PHP Tutorial
1488
72
CSS tutorial for creating loading spinners and animations CSS tutorial for creating loading spinners and animations Jul 07, 2025 am 12:07 AM

There are three ways to create a CSS loading rotator: 1. Use the basic rotator of borders to achieve simple animation through HTML and CSS; 2. Use a custom rotator of multiple points to achieve the jump effect through different delay times; 3. Add a rotator in the button and switch classes through JavaScript to display the loading status. Each approach emphasizes the importance of design details such as color, size, accessibility and performance optimization to enhance the user experience.

Addressing CSS Browser Compatibility issues and prefixes Addressing CSS Browser Compatibility issues and prefixes Jul 07, 2025 am 01:44 AM

To deal with CSS browser compatibility and prefix issues, you need to understand the differences in browser support and use vendor prefixes reasonably. 1. Understand common problems such as Flexbox and Grid support, position:sticky invalid, and animation performance is different; 2. Check CanIuse confirmation feature support status; 3. Correctly use -webkit-, -moz-, -ms-, -o- and other manufacturer prefixes; 4. It is recommended to use Autoprefixer to automatically add prefixes; 5. Install PostCSS and configure browserslist to specify the target browser; 6. Automatically handle compatibility during construction; 7. Modernizr detection features can be used for old projects; 8. No need to pursue consistency of all browsers,

What is the difference between display: inline, display: block, and display: inline-block? What is the difference between display: inline, display: block, and display: inline-block? Jul 11, 2025 am 03:25 AM

Themaindifferencesbetweendisplay:inline,block,andinline-blockinHTML/CSSarelayoutbehavior,spaceusage,andstylingcontrol.1.Inlineelementsflowwithtext,don’tstartonnewlines,ignorewidth/height,andonlyapplyhorizontalpadding/margins—idealforinlinetextstyling

Creating custom shapes with css clip-path Creating custom shapes with css clip-path Jul 09, 2025 am 01:29 AM

Use the clip-path attribute of CSS to crop elements into custom shapes, such as triangles, circular notches, polygons, etc., without relying on pictures or SVGs. Its advantages include: 1. Supports a variety of basic shapes such as circle, ellipse, polygon, etc.; 2. Responsive adjustment and adaptable to mobile terminals; 3. Easy to animation, and can be combined with hover or JavaScript to achieve dynamic effects; 4. It does not affect the layout flow, and only crops the display area. Common usages are such as circular clip-path:circle (50pxatcenter) and triangle clip-path:polygon (50%0%, 100 0%, 0 0%). Notice

Styling visited links differently with CSS Styling visited links differently with CSS Jul 11, 2025 am 03:26 AM

Setting the style of links you have visited can improve the user experience, especially in content-intensive websites to help users navigate better. 1. Use CSS's: visited pseudo-class to define the style of the visited link, such as color changes; 2. Note that the browser only allows modification of some attributes due to privacy restrictions; 3. The color selection should be coordinated with the overall style to avoid abruptness; 4. The mobile terminal may not display this effect, and it is recommended to combine it with other visual prompts such as icon auxiliary logos.

How to create responsive images using CSS? How to create responsive images using CSS? Jul 15, 2025 am 01:10 AM

To create responsive images using CSS, it can be mainly achieved through the following methods: 1. Use max-width:100% and height:auto to allow the image to adapt to the container width while maintaining the proportion; 2. Use HTML's srcset and sizes attributes to intelligently load the image sources adapted to different screens; 3. Use object-fit and object-position to control image cropping and focus display. Together, these methods ensure that the images are presented clearly and beautifully on different devices.

Demystifying CSS Units: px, em, rem, vw, vh comparisons Demystifying CSS Units: px, em, rem, vw, vh comparisons Jul 08, 2025 am 02:16 AM

The choice of CSS units depends on design requirements and responsive requirements. 1.px is used for fixed size, suitable for precise control but lack of elasticity; 2.em is a relative unit, which is easily caused by the influence of the parent element, while rem is more stable based on the root element and is suitable for global scaling; 3.vw/vh is based on the viewport size, suitable for responsive design, but attention should be paid to the performance under extreme screens; 4. When choosing, it should be determined based on whether responsive adjustments, element hierarchy relationships and viewport dependence. Reasonable use can improve layout flexibility and maintenance.

What are common CSS browser inconsistencies? What are common CSS browser inconsistencies? Jul 26, 2025 am 07:04 AM

Different browsers have differences in CSS parsing, resulting in inconsistent display effects, mainly including the default style difference, box model calculation method, Flexbox and Grid layout support level, and inconsistent behavior of certain CSS attributes. 1. The default style processing is inconsistent. The solution is to use CSSReset or Normalize.css to unify the initial style; 2. The box model calculation method of the old version of IE is different. It is recommended to use box-sizing:border-box in a unified manner; 3. Flexbox and Grid perform differently in edge cases or in old versions. More tests and use Autoprefixer; 4. Some CSS attribute behaviors are inconsistent. CanIuse must be consulted and downgraded.

See all articles