Skip to content

Added animatedLogoColumns - #36

Open
MSchak wants to merge 1 commit into
mainfrom
logo-slider
Open

Added animatedLogoColumns#36
MSchak wants to merge 1 commit into
mainfrom
logo-slider

Conversation

@MSchak

@MSchak MSchak commented Aug 28, 2026

Copy link
Copy Markdown

Adds an animated logo flipper with accessibility features

Takes two logos per column and animates them in a flipping manner.

Accessibility features:
aria-label + aria-describedby
srOnly static list with logo flipper hidden for easier access to content for screen readers
Prefers reduced motion:reduce sets logos to grid instead of flipping animation
Play/pause button

@netlify

netlify Bot commented Aug 28, 2026

Copy link
Copy Markdown

Deploy Preview for imarc-pronto ready!

Name Link
🔨 Latest commit 13c78eb
🔍 Latest deploy log https://app.netlify.com/projects/imarc-pronto/deploys/6a91d258032ea30008856a7e
😎 Deploy Preview https://deploy-preview-36--imarc-pronto.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@MSchak
MSchak requested a review from khamer August 28, 2026 18:24
// WCAG / ARIA carousel pattern: stop auto-rotation when focus enters the component.
// Rotation only resumes if the user clicks play.
const onFocusIn = () => {
if (!prefersReducedMotion.value) {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe if (isPlaying.value) { instead?

}

onMounted(() => {
prefersReducedMotion.value = window.matchMedia('(prefers-reduced-motion: reduce)').matches

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about adding

if (prefersReducedMotion.value) {
  isPlaying.value = false
}

import { computed, onMounted, ref } from 'vue'

// Accessible name for the logo group. Pass the section heading id via aria-labelledby.
const props = defineProps({

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For the attributes that are just going to pass through, I'd just use fallthrough attributes - https://vuejs.org/guide/components/attrs.html

And you won't need to define any of these props.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants