loading属性(ローディングぞくせい)とは | 意味や読み方など丁寧でわかりやすい用語解説

loading属性(ローディングぞくせい)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

ローディング属性 (ローディングぞくせい)

英語表記

loading (ローディング)

用語解説

loading属性は、HTMLの<img>タグや<iframe>タグに指定できる属性の一つである。この属性の主な目的は、画像や埋め込みコンテンツといったリソースの読み込みタイミングを制御することにある。具体的には、そのリソースを即座に読み込むか、あるいはユーザーがそのリソースが表示される画面領域に近づくまで読み込みを遅らせるかを、ブラウザに対して指示するために使用される。従来、このような遅延読み込み(Lazy Loading)と呼ばれる技術は、JavaScriptのライブラリなどを用いて実装する必要があり、開発者には一定の手間が求められた。しかし、loading属性が標準化されたことにより、HTMLを記述するだけで、ブラウザのネイティブ機能としてこの強力なパフォーマンス最適化手法を簡単に導入できるようになった。これにより、Webページの表示速度を改善し、不要なデータ通信量を削減することで、ユーザーエクスペリエンスの向上に大きく貢献する。

loading属性には、主に「eager」と「lazy」という二つの値を指定できる。まず「eager」は、この属性を指定しない場合のデフォルトの動作と同じ挙動を示す。つまり、ブラウザがHTMLを解析する過程でその要素を発見した時点で、その画像やiframeがユーザーの表示領域(ビューポート)内にあるかどうかにかかわらず、即座にリソースの読み込みを開始する。ページの上部に表示され、ユーザーが最初に目にする重要な画像などには、この即時読み込みが適している。次に「lazy」は、この属性の核心となる遅延読み込みを指示する値である。loading="lazy"と指定された画像やiframeは、ページの初期読み込み段階ではダウンロードされない。ブラウザはこれらのリソースの読み込みを保留し、ユーザーがページをスクロールして、そのリソースがビューポートから一定の距離内に入るまで待機する。そして、リソースが表示領域に十分に近づいたと判断した時点で、初めてネットワークリクエストを発生させ、コンテンツのダウンロードを開始する。この「一定の距離」はブラウザの実装によって異なるが、ユーザーがスクロールを止めてコンテンツを目にするまでには読み込みが完了するように、絶妙なタイミングで処理が開始されるように設計されている。この遅延読み込みの仕組みによって、ページの初期表示に必要なデータ量を大幅に削減できる。特に、縦に長いページで多数の画像が配置されている場合、最初に表示される画面領域外の画像を読み込む必要がなくなるため、ページの表示完了までの時間が短縮される。これは、Googleが提唱するCore Web VitalsといったWebサイトのパフォーマンス指標の改善にも直接的に繋がる。また、ユーザーがページの下部までスクロールしなかった場合、その領域の画像は一切読み込まれないため、結果としてデータ通信量の節約にもなる。これは、通信速度が限られている、あるいは通信量に従って課金されるモバイル環境のユーザーにとって特に大きなメリットとなる。使用する上での注意点として、ページの最も重要なコンテンツ、例えばWebサイトのロゴやメインビジュアルなど、ユーザーが最初に訪れたときに必ず表示されるべき画像(ファーストビュー内の画像)に対してloading="lazy"を指定することは避けるべきである。これらの画像に遅延読み込みを適用すると、本来すぐに表示されるべき画像の表示が逆に遅れてしまい、ユーザー体験を損なう原因となり得る。このような場合には、loading="eager"を明示的に指定するか、属性自体を記述しないことが推奨される。現在、loading属性は主要なモダンブラウザで広くサポートされており、特別な理由がない限り、ファーストビュー以外の画像やiframeには積極的にloading="lazy"を指定することが、Webパフォーマンスを最適化する上で非常に有効な手法となっている。

loading属性(ローディングぞくせい)とは | 意味や読み方など丁寧でわかりやすい用語解説 | いっしー@Webエンジニア