# marquee

Published articles for marquee.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Building an Infinite Loom: Unravelling Images into Threads with Three.js

DevFeed: [Building an Infinite Loom: Unravelling Images into Threads with Three.js](<https://devfeed.tech/articles/building-an-infinite-loom-unravelling-images-into-threads-with-three-js-4339.md>)

Original publisher: [Read original article](<https://tympanus.net/codrops/2026/09/05/building-an-infinite-loom-unravelling-images-into-threads-with-three-js/>)

Author: Clément Grellier

Published: 2026-09-05T12:50:25Z

Content type: tutorial

Language: en

Sources: [Codrops](<https://devfeed.tech/sources/codrops.md>)

Topics: [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [creative-coding](<https://devfeed.tech/tags/creative-coding.md>), [creative-web-experiments](<https://devfeed.tech/tags/creative-web-experiments.md>), [digital-art](<https://devfeed.tech/tags/digital-art.md>), [frontend-animation](<https://devfeed.tech/tags/frontend-animation.md>), [generative-art](<https://devfeed.tech/tags/generative-art.md>), [glsl-shaders](<https://devfeed.tech/tags/glsl-shaders.md>), [gsap](<https://devfeed.tech/tags/gsap.md>), [html](<https://devfeed.tech/tags/html.md>), [image-animation](<https://devfeed.tech/tags/image-animation.md>), [image-distortion](<https://devfeed.tech/tags/image-distortion.md>), [image-effects](<https://devfeed.tech/tags/image-effects.md>), [image-slider](<https://devfeed.tech/tags/image-slider.md>), [images](<https://devfeed.tech/tags/images.md>), [infinite-slider](<https://devfeed.tech/tags/infinite-slider.md>), [interactive-images](<https://devfeed.tech/tags/interactive-images.md>), [interactive-web-design](<https://devfeed.tech/tags/interactive-web-design.md>), [javascript-animation](<https://devfeed.tech/tags/javascript-animation.md>), [marquee](<https://devfeed.tech/tags/marquee.md>), [playground](<https://devfeed.tech/tags/playground.md>), [ribbon-animation](<https://devfeed.tech/tags/ribbon-animation.md>), [shader-effects](<https://devfeed.tech/tags/shader-effects.md>), [shaders](<https://devfeed.tech/tags/shaders.md>), [thread-animation](<https://devfeed.tech/tags/thread-animation.md>), [three-js](<https://devfeed.tech/tags/three-js.md>), [three-js-demo](<https://devfeed.tech/tags/three-js-demo.md>), [three-js-shaders](<https://devfeed.tech/tags/three-js-shaders.md>), [unraveling-effect](<https://devfeed.tech/tags/unraveling-effect.md>), [webgl](<https://devfeed.tech/tags/webgl.md>), [webgl-animation](<https://devfeed.tech/tags/webgl-animation.md>), [webgl-demo](<https://devfeed.tech/tags/webgl-demo.md>)

### AI overview

A Three.js tutorial for an infinite image strip whose cards are split into independently animated horizontal ribbons. It explains how separate geometry and shaders create weaving, unraveling, gaps, fading, and varied thread motion.

### Source excerpt

An experimental Three.js demo that transforms images into flowing ribbons, weaving them together and unraveling them as they move across the screen.

## Making basicMarquee-Modifier More Accessible

DevFeed: [Making basicMarquee-Modifier More Accessible](<https://devfeed.tech/articles/making-basicmarquee-modifier-more-accessible-38502.md>)

Original publisher: [Read original article](<https://eevis.codes/blog/2025-02-20/making-basicmarquee-modifier-more-accessible/>)

Author: Eevis Panula

Published: 2025-02-20T10:38:55.771000Z

Content type: tutorial

Language: en

Sources: [Eevis Blog](<https://devfeed.tech/sources/eevis-blog.md>)

Topics: [Accessibility](<https://devfeed.tech/topics/accessibility.md>), [Android](<https://devfeed.tech/topics/android.md>), [marquee](<https://devfeed.tech/topics/marquee.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [accessibility](<https://devfeed.tech/tags/accessibility.md>), [accessible](<https://devfeed.tech/tags/accessible.md>), [android](<https://devfeed.tech/tags/android.md>), [animations](<https://devfeed.tech/tags/animations.md>), [code](<https://devfeed.tech/tags/code.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [marquee](<https://devfeed.tech/tags/marquee.md>), [technical](<https://devfeed.tech/tags/technical.md>)

### AI overview

This tutorial explains how to make Android's basicMarquee modifier respect the system "Remove animations" accessibility setting. It proposes reading the setting and exposing its value through composition locals to conditionally enable the marquee animation.

### Source excerpt

I have this "Remove animations"-setting turned on on my phone because different kinds of movement make me feel physically sick. When the setting is on, animations are usually removed from native Android apps. And when there are some animations, I notice them. I've started seeing more and more of some horizontally scrolling texts, and I have been wondering why. Then I came across this basicMarquee-modifier. And it doesn't respect the "Remove animations" accessibility setting. And that's bad - many users (me included) rely on that setting to not see animations. Marquee-styled animations are one of the worst triggers of my motion sickness symptoms. If you want to learn more about my symptoms and why animations can be super problematic for some, I've written two blog posts, one from Android and one from a web point of view: Android, Animations and Reduced Motion You Make My Head Spin - Reducing the Motion on Web But since bringing up solutions is often better received than bringing up problems, this blog post will demonstrate one idea on how to improve the situation for us who rely on that "Remove animations" setting. The main idea is to read the value of this setting and then use it to decide if the basicMarquee-modifier is used. In this blog post, I'm using composition locals to accomplish it. Remove Animations Setting Before we dive into the code, a couple of words about the "Remove animations" setting. It's a global setting, which you can find from the accessibility settings. In my Pixel phone, "Remove animations" is under the "Color and motion"-section. From a technical perspective, the setting changes the animator duration scale to 0, so, in other words, the animations end right after they start. This accessibility setting is not exposed via accessibility services the same way as, for example, screen reader availability, so we'll need to be a bit creative. The following section explains how we can read the value of this setting. Composition Local for Remove Animat

## onwebkitplaybacktargetavailabilitychanged?! New exotic events in the XSS cheat sheet

DevFeed: [onwebkitplaybacktargetavailabilitychanged?! New exotic events in the XSS cheat sheet](<https://devfeed.tech/articles/onwebkitplaybacktargetavailabilitychanged-new-exotic-events-in-the-xss-cheat-sheet-7692.md>)

Original publisher: [Read original article](<https://portswigger.net/research/new-exotic-events-in-the-xss-cheat-sheet>)

Author: Gareth Heyes

Published: 2024-06-11T14:58:29Z

Content type: article

Language: en

Sources: [PortSwigger Research](<https://devfeed.tech/sources/portswigger-research.md>)

Topics: [Cheat sheet](<https://devfeed.tech/topics/cheatsheet.md>), [Security](<https://devfeed.tech/topics/security.md>), [Web](<https://devfeed.tech/topics/web.md>), [Mozilla](<https://devfeed.tech/topics/mozilla.md>), [marquee](<https://devfeed.tech/topics/marquee.md>)

Tags: [audio](<https://devfeed.tech/tags/audio.md>), [cheat-sheet](<https://devfeed.tech/tags/cheat-sheet.md>), [code](<https://devfeed.tech/tags/code.md>), [community](<https://devfeed.tech/tags/community.md>), [contribute](<https://devfeed.tech/tags/contribute.md>), [firefox](<https://devfeed.tech/tags/firefox.md>), [marquee](<https://devfeed.tech/tags/marquee.md>), [mozilla](<https://devfeed.tech/tags/mozilla.md>), [security](<https://devfeed.tech/tags/security.md>), [tool](<https://devfeed.tech/tags/tool.md>), [update](<https://devfeed.tech/tags/update.md>), [video](<https://devfeed.tech/tags/video.md>), [web](<https://devfeed.tech/tags/web.md>)

### AI overview

An update to PortSwigger's XSS cheat sheet adds and documents exotic browser event vectors, including Safari audio and video behavior, pointer interaction, autofocus usage, and WebKit trackpad events. The article also credits community contributions and Mozilla's help removing obsolete marquee events from Firefox.

### Source excerpt

The power of our XSS cheat sheet is we get fantastic contributions from the web security community and this update is no exception. We had valuable contributions from Mozilla to remove events that no