ドキュメント 検証の根拠 検証の根拠 以下の各判定では、サイズ、速度、アクセシビリティの目標を満たさなければリリースを停止します。このサイトのすべての数値は、いずれかの判定に基づきます。
CIの判定条件 gzip圧縮後のバンドルサイズ .size-limit.jsonのコンポーネント別上限Tier 0のクライアントJavaScript 0 kB — Reactフックの呼び出し禁止 JavaScript無効のテストスイート Tier 0はすべて通過、Tier 1/2は明記された機能制限時の契約を遵守 axe違反 Chromium、Firefox、WebKitですべて0件 ライブラリによる強制レイアウト 操作トレースで0 ms 操作の遅延 CPUを4倍遅くした条件で≤ 200 ms(Chromium) レンダリング回数 1操作あたりReactのコミット≤ 2回 Lighthouse(ドキュメントのルート) パフォーマンス≥ 0.95、アクセシビリティ1.00 Core Web Vitals LCP ≤ 2500 ms、CLS ≤ 0.1、TBT ≤ 200 ms
ローカルでの検証 npm run check : layout - reads
npm run checks
npx playwright test - - config = e2e / playwright - performance . config . ts
npm run bench Tier 0コンポーネントはJavaScript無効のテストスイート(npm run test:no-js)もすべて通過する必要があります。Tierを見る
Radixベンチマークレポート リポジトリのルートからnpm run benchで生成します。両ホストを同じ操作スクリプトで動かします。絶対値は実験環境での測定結果に限られます。
Performance Benchmark: uiify/components vs Radix UI Methodology Hardware: Apple M4 · darwin 25.5.0 · 16.0 GB RAM Node: v24.18.0 uiify version: 0.0.0 Radix version: 2.3.7 Date: 2026-09-11 Warmup: 5 iterations (discarded) Recorded: 50 iterations per metric Trim: top/bottom 5% Statistics: mean, stddev (median in results/*.json) Hosts: uiify via apps/site /components/[slug]/test?profiler=true&controls=false (Next.js prod build); Radix via benchmarks/app (Vite prod build, vite preview)
Headed Chromium, workers: 1, CPU throttle = 1 (raw rendering) Results React Commit Duration (ms) — lower is better select 0.00 ± 0.00 0.00 ± 0.00 —
Interaction FPS (fps) — higher is better select 59.62 ± 4.12 59.64 ± 2.92 -0.0%
Forced Style/Layout (ms) — lower is better select 0.00 ± 0.00 0.15 ± 0.03 -100.0%
Heap After GC (MB) — lower is better select 13.62 ± 3.10 11.43 ± 3.10 +19.2%
Bundle Size (kB, gzipped) Notes All measurements on headed Chrome (full GPU pipeline). Variance reflects OS scheduler, GC, and browser internals. The two hosts differ (Next.js SSR+hydration vs a standalone client app); both are production builds driven by the same harness and BenchProfiler, but absolute numbers are lab-only and field behavior may differ.
Forced style/layout is measured in ms via the e2e CDP trace pipeline (analyzeForcedLayout).