Feature request: native pure-CSS skeleton / shimmer loading placeholders for page content

A well-designed skeleton screen dramatically improves perceived performance by giving users an immediate visual preview of the final layout while page content is still loading.

There are excellent pure-CSS examples of this pattern here:

https://freefrontend.com/css-skeleton-loadings/

A pure-CSS approach (no JavaScript required for the animation itself) would be ideal for performance:

  • Use a moving linear-gradient + background-position (or a single :after pseudo-element with transform: translateX() for better performance when many skeletons are present).
  • Keep the effect GPU-friendly so it doesn’t hurt INP / main-thread work.
  • Provide a set of reusable skeleton shapes (text lines of varying widths, cards, avatars, media blocks, buttons, etc.) that can be dropped in or auto-generated for common elements / Loopers.
  • Optional global or per-document toggle + the ability to apply a skeleton state to any element or container until content is ready.

Following best practices from the FreeFrontend FAQ and general a11y guidelines:

  • The decorative skeleton containers should receive aria-hidden=“true”.
  • A proper loading announcement should be available for screen readers, by maybe using a visually-hidden <div role="status" aria-live="polite">Loading content…</div>.
  • Fully respect @media (prefers-reduced-motion: reduce). Either freeze the shimmer into a static pulse / solid color, or disable the animation entirely (this also aligns with the recent discussion around prefers-reduced-motion support in Effects).
  • Ensure sufficient contrast for the placeholder shapes.

Extra nice-to-haves

  • Light/dark mode aware colors (or simply inherit from the current theme colors).
  • Ability to match the skeleton layout closely to the final content so there’s minimal layout shift when the real content appears.
  • Integration with existing Loading Area functionality inside Cornerstone Forms.