TL;DR — Lighthouse のスコアは「低速 4G シミュレーション」値なので実測とは乖離する。実測(WebPageTest)で 713ms なら対応不要と判断できる。アクセシビリティのコントラスト問題は修正済み。
Chrome の Lighthouse でこのブログのパフォーマンスを測ったら 64/100 という微妙なスコアが出た。
「さすがにまずいかな」と思って調査してみたら、想定外の結論にたどり着いたのでメモ。
状況
Lighthouse の JSON レポートを取得して Claude Code に分析させた。
スコアはこんな感じ:
| カテゴリ | スコア |
|---|
| Performance | 64 |
| Accessibility | 94 |
| Best Practices | 100 |
| SEO | 100 |
Performance と Accessibility に問題あり。
Accessibility の問題: コントラスト比
こっちはシンプルだった。
シンタックスハイライトの CSS(monokai テーマ)で、JSON のキー名や XML タグに使われるピンク赤(#f92672)が、背景色(#272822)に対してコントラスト比 3.92:1 しかなかった。WCAG AA 基準は 4.5:1 以上なので落第。
Lighthouse のレポートで指摘されていた要素:
selector: code.language-json > span.line > span.cl > span.nt
explanation: contrast ratio of 3.92 (foreground: #f92672, background: #272822)
該当するトークンを全部拾うと .nt(NameTag)、.kn(KeywordNamespace)、.o(Operator)、.ow(OperatorWord)、.gd(GenericDeleted)の 5 種類。