課題4: リロード時の unstyled flash

DOM overlay 型は「サーバー HTML は未補正 → async でスクリプトを読み込む → 後から DOM を補正」する。 このため、ページ表示直後に未補正 UI が一瞬見える(unstyled flash)。 Siteforce の CDN/Edge は補正を初回 HTML 応答そのものに含めるため、この未補正状態が現れない。 本ページは overlay 相当(async 補正)Edge 相当(HTML 応答に補正済み) を並置し、 リロードのたびに差を実測する。

リロードするたびに、パネル A では未補正 → 補正の切り替わりが再現し、パネル B では現れない。

A. overlay 相当(async 補正 → flash あり)

🔴 未補正状態が見える

この一文は補正前、低コントラストで表示される。

補正処理: setTimeout(fix, 900) で 900ms 後にコントラストを修正する

First Paint: 未補正 UI を表示中…

B. Edge 相当(初回 HTML に補正済み → flash なし)

🟢 未補正状態は 0ms

この一文は初回 HTML から高コントラストで表示される。

補正処理: なし。補正はサーバー応答の HTML に含まれ、JS による後追い補正をしない

First Paint: 補正済み UI を表示
未補正状態が見えた時間: 0ms(リロードしても変わらない)

結論(このページの実測が示すこと)

実行中…