Task: Add noscript fallbacks to homepage hero animations #485

Open
opened 2026-04-16 07:11:38 +00:00 by jjalangtry · 0 comments
jjalangtry commented 2026-04-16 07:11:38 +00:00 (Migrated from github.com)

Problem

The homepage hero has two JS-dependent components:

  1. DancingLetters (`next/components/dancing-letters.tsx`) — wraps each letter in a Framer Motion `<motion.span>`. Without JS the letters are present from SSR but static; however the interactive hover/click animations are lost silently.
  2. HeroImage (`next/app/HeroImage.tsx`) — an Embla Carousel with 3 images. Without JS only the first slide renders, with no navigation controls and no indication there are more images.

Affected Files

  • `next/app/HeroCTA.tsx`
  • `next/components/dancing-letters.tsx`
  • `next/app/HeroImage.tsx`

Fix

  1. HeroCTA: Ensure the headline text renders in a plain `` from SSR so it is never blank.
  2. HeroImage: Add a `
    ```

## Problem The homepage hero has two JS-dependent components: 1. **DancingLetters** (\`next/components/dancing-letters.tsx\`) — wraps each letter in a Framer Motion \`<motion.span>\`. Without JS the letters are present from SSR but static; however the interactive hover/click animations are lost silently. 2. **HeroImage** (\`next/app/HeroImage.tsx\`) — an Embla Carousel with 3 images. Without JS only the first slide renders, with no navigation controls and no indication there are more images. ## Affected Files - \`next/app/HeroCTA.tsx\` - \`next/components/dancing-letters.tsx\` - \`next/app/HeroImage.tsx\` ## Fix 1. **HeroCTA**: Ensure the headline text renders in a plain \`<span>\` from SSR so it is never blank. 2. **HeroImage**: Add a \`<noscript>\` block that renders all 3 hero images stacked, or at minimum shows the static first image with a note. \`\`\`html <noscript> <img src="/hero-1.jpg" alt="SSE hero image" /> <img src="/hero-2.jpg" alt="SSE hero image" /> <img src="/hero-3.jpg" alt="SSE hero image" /> </noscript> \`\`\`
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
SSE/WebsiteTheSSEquel#485
No description provided.