【2025年】HTMLの書き方|サイトパフォーマンス・アクセシビリティ向上で品質UP

※本ページはプロモーションが含まれています。

Web制作に携わっていると、進化し続ける技術を常々インプットするのが大変。
コーディングに関しても油断していると置いてけぼりになりやすく、今の時代に適さないマークアップになりかねません。

本記事では、HTMLに焦点を置いて「このようにコードを書いてほしい!」という内容をまとめております。

さとみ

「こんな書き方があるよ」ということを伝えたかったので、コードの解説は少なめです。
具体的な仕様などを知りたい方は、参考記事などググっていただけると幸いです。

なお、タイトルの「アクセシビリティ」について詳しく知りたい方は、別記事にて解説しておりますのでぜひご覧いただければと思います。

目次

<img>と<iframe>要素にLazy loading(遅延読み込み)で表示速度を改善

<img><iframe>loading="lazy"を付けると、遅延読み込みになりページの読み込み時間を短縮します。

<img src="/img/example.jpg" width="300" height="250" alt="" loading="lazy">
<iframe src="/example.html" width="800" height="650" loading="lazy"></iframe>
  • width属性とheight属性が必須
    • aspect-ratioでも代用可
    • レイアウトシフト対策になる(※下記の記事参照)
  • WordPressでは<img><iframe>loading="lazy"が自動的に追加される仕様になっている
  • メインビジュアルなど、ページ上部に表示されている画像には使用しない
    • 単純にページの表示速度が遅くなるため、すぐにロードするloading="eager"を設定

SVG画像の読み込むなら、コードコピペではなくSVGスプライト

SVGのコードをそのままHTMLに貼り付けず、SVGを<symbol>で定義し<use>で呼び出します。

なお、<img>でSVGを読み込むとアニメーションが動かないのでご注意ください。

<!-- 呼び出し元 -->
<svg style="display: none;" xmlns="http://www.w3.org/2000/svg">
  <symbol id="icon" viewBox="0 0 24 24">
    <path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
  </symbol>
</svg>

<!-- 呼び出し先 -->
<svg>
  <use href="#icon"></use>
</svg>
  • 呼び出し元の<svg>にはstyle="display: none;"を記述する
    • 外部CSSでもOK
  • <symbol>id="◯◯"<use>href="#◯◯"は名称を揃える
  • コードの記述量が少なくなるのでHTMLの可読性UP
  • 同じ画像を使い回すのに便利
  • <svg>width/height/fillなどの属性はCSSに記述すると管理しやすい
    • 属性として記述しても問題なし(扱いやすいほうでOK)
    • 下部のサンプルコードでは、CSSにてwidthaspect-ratioで実装
  • 複数のSVGを提示したい場合はdefsで囲う
  • fillstrokecurrentColorにするとcolorプロパティで色指定できる(※下部のサンプルコード参照)

SVG 2でxlink:hrefが非推奨になり、hrefに置き換えられました。

  • URLをコピーしました!

★2025年3月5日(水)〜2025年3月19日(水)まで★

\『半額キャッシュバックキャンペーン』実施中!/

コメント

コメントする

CAPTCHA


目次