Tier A

RN-universal Progress pilot

Scaffolded

Determinate horizontal progress bar. Pure View + View with percentage width — no Radix, no DOM observers. accessibilityRole='progressbar' with accessibilityValue translates to aria-valuemin/max/now on web.

Side-by-side: animated value

shadcn (Radix Progress)
0%
RN (View + View via RN Web)
0%

Fixed checkpoints

10%
33%
67%
100%

Custom max scale (e.g. modules completed)

34 / 62 modules

Semantics

AspectshadcnRNNotes
Root element<div role="progressbar"><View accessibilityRole="progressbar">Same role on web
Indicatortransform: translateXwidth: %Width is simpler and works on native without Animated
Value ARIAaria-valuenow on rootaccessibilityValue = {min,max,now}RN Web translates to aria-valuemin/max/now
Clampingdeveloper responsibilitybuilt-in (Math.min/max)Runtime safety against invalid values