Skip to content
Get Started

Compatibility // observable truth

Primitive support, not marketing.

Velora documents support by CSS primitive and feature tier. The interface must remain usable when motion enhancements are missing. Registry: public presets from packages/catalog/.

Loading baseline…

Matrix loads from packages/catalog/compatibility-matrix.json — same source as docs. ✓ stable · ◐ progressive · ⚗ experimental.

Legend: ✓ stable · ◐ progressive · ⚗ experimental · — unsupported

Primitive matrix

Feature × browser

Scan the Fallback column — every progressive row must keep a readable composed state.

Primitive Tier Chrome Safari Firefox Fallback

Progressive enhancement

The effect may disappear. The interface must not.

Stable

Semantic content, channel attributes, scroll-driven motion with time fallback, MPA view transitions where supported, native state and reduced-motion behavior.

Progressive

sibling-index(), typed attr(), calc-size(), offset-path, anchor positioning and scroll markers — each guarded by @supports.

Experimental

if(), scroll markers and element-scoped view transitions — catalog/lab only, never required by Core recipes.

Reduced motion

Readable composed state always wins.

prefers-reduced-motion: reduce collapses travel, disables loops and scroll-linked animation. vl-motion="still" forces rest regardless of OS preference. No essential information is conveyed only through motion. Checklist: docs/validation/reduced-motion-checklist.md

<section vl-motion="still">
  <!-- loops off · scroll scrub off · hierarchy preserved -->
</section>

vl-motion="still"

Order without travel

Content visible · hierarchy preserved.