kestra-io / kestra-io/docs

fix(quotes): server-render every testimonial panel

Open
#5,657 0 comments 0 reactions 0 assignees View on GitHub
area/frontend kind/website
Dominant language
Astro
Stars
155
Forks
177
Avg merge
1d 20m
Merged PRs (30d)
192

Description

Part of the Markdown for Agents Phase 1 epic (see #5652). kestra.io has Cloudflare Markdown for Agents enabled: `Accept: text/markdown` converts the SSR HTML at the edge, so defects in the HTML end up in what AI agents read. Cloudflare strips `nav`/`header`/`footer`/scripts/styles/inline SVG, ignores `aria-hidden` and empty `alt`, keeps `.visually-hidden` text and `display:none` content, and renders `

` as separate lines (all verified on production).

## Problem
`src/components/common/Quotes.vue` renders one `activeItem` figure and swaps text on click, so only 1 of 6 homepage testimonials exists in the HTML. The tab buttons also point `aria-controls` at `quote-panel-N` ids that do not exist.

## Scope
- Loop over `quotes` with `v-show="activeQuote === index"` panels carrying `:id="quote-panel-${index}"`, `role="tabpanel"` and `:aria-labelledby`.
- Keep prev/next buttons, tablist and dropdown as they are. Do not replace the carousel.
- Add `loading="lazy"` to the `bigLogoSrc` image so hidden panels do not fetch it (used by `versus/VsTestimonial.astro`).

## Done when
- `/` Markdown contains all six blockquotes and story links.
- Visual regression suite passes on `/`, `/vs/airflow`, `/pricing`, `/enterprise`.
- Note: `data-usal` fades will play once when a hidden panel is first shown; acceptable.

## Related
- KPI description-list issue (can be the same PR).

Contributor guide

Open the contributing guide

Research direction

Start in src/components/common/Quotes.vue and compare its current activeItem rendering with the requested loop, IDs, ARIA attributes, and lazy image behavior; check versus/VsTestimonial.astro for bigLogoSrc usage. Run the visual regression suite for /, /vs/airflow, /pricing, and /enterprise, then verify that / Markdown contains all six blockquotes and story links.

Written by the indexing model from the issue text.

Assessment

Tech stack
html
Domain
frontend, web-dev
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
78/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.