概要
Lighthouse
Lighthouse は、オープンソースの自動化されたツールでウェブアプリの品質向上に役立ちます。(中略) ページに対する集中的なテストを実行してパフォーマンスに関するレポートを生成できます。
とのことで、以下の項目で評価&改善レポートを生成してくれる。
パフォーマンス
PWA対応状況
ベストプラクティス
アクセシビリティ
SEO対応状況
インストール
色々あるようだけど、Chrome 拡張機能が一番楽。
使い方
やったこと
基本的に Lighthouse 先生に言われた通りのことを行なった。
PWA 対応
画像には alt をつける
はい。ごめんなさい。「つけた方がいい」的な話は知ってましたが、ついサボってました。
今後つけていきたいと思います。でも、世の中結構つけてないところ多いですよね。
入力欄要素にはラベルをつける
<label></label>つけないといけないの?と思ったが、ラベルをつけるのにも色々あるらしい。
リンクにもラベルをつける
かしこまりました。方法は上に同じで、aria-label または aria-labelby で対応。
lazy-loading
asyncData
もともと Vue.js で作ったのを Nuxt.js に持ってきているので、いくつかのページで asyncData を使い忘れて、created などで API 叩いてデータ取得となっていた。単に僕のうっかり。
asyncData はコンポーネントがローディングされる前に呼び出され、データ取得からレンダリングまでの非同期処理をサーバーサイドで行えるので、パフォーマンスは上がる。
結果
とりあえず、上記の対応でこのような感じ。対応前は割と黄色だった。
もっとあげることは可能だが、いくつか悩みどころがある。
悩みどころ
次世代画像フォーマット
画像を次世代フォーマットで保存しようと言われる。例えば以下のフォーマット。
おそらくこの対応をすれば、パフォーマンス値もほぼ100になると思う。ただ問題は、上記フォーマットはどれもサポートしているブラウザがバラバラだということ。自分のサイトでそれぞれのブラウザにそれぞれを用意するほどの熱量は、正直ない(笑。
今のやり方で圧縮率をあげるのも、、、一応デザイナーの意地で、質は落としたくない。
背景と文字のコントラスト
デザインの文脈は関係なく、背景色と文字の一定のコントラストを求められる。
以下をクリアすれば良いらしい。
このサイトではフッタのリンクのグレーをもっと黒くしろと。。。
そうすると今度はホバー字の文字色とのコントラストがつかなくなるのでいっそ色を取り入れるか。。。となってくる。
まとめ
勉強になりました。Lighthouse先生ありがとう。