検索

CSSのcontent-visibility属性:パフォーマンスの改善とアクセシビリティの課題

2020年8月、CSSのcontent-visibility属性がChromeブラウザで使用され始め、Una KravetsとVladimir Levinはそれに関する記事を書きました。パフォーマンスの利点を完全に活用するには、ページ内のコンテンツの大きなチャンクの高さの推定値を推定する必要があるcontain-intrinsic-sizeプロパティと併用する必要があります。これの最も奇妙な部分は、これらの大きな塊の高さについておおよその推測をする必要があるということです。

前に質問しました:高さを推測するだけですか?推測が間違っている場合はどうなりますか?パフォーマンスに影響しますか?大きな画面と小さな画面に大きな違いがある場合、この値は別のビューポートで変更されるべきですか?

ジェイク・アーチボルドとダス・サーマは最近、これらの問題を明確にするビデオを作成しました。ビデオの約7分30秒で、これがいかに混乱しているかがわかります。 Jakeは大きなHTML仕様ページをデモンストレーションとして使用し、HTMLコンテンツの大きなチャンクのラッパーを追加し、次のコードを適用しました。

セクション {
  コンテンツ視界:自動; /*描画の遅延*/
  内型サイズを含む:1px 5000px; /*コンテンツのサイズを推測します、幅は重要ではありません*/
}

明らかに、 5000px要素の高さではなく、その要素のコンテンツのサイズです。これは、親要素が独自の高さ属性でそれをオーバーライドしない限り、親要素の高さをこの値に上げるため、重要です。これの魔法は、ブラウザが最初のセクションのみを描画し(ビューポートの高さは5000px未満になる可能性が高い)、残りの描画を遅らせることです。それは怠zyなロードに似ていますが、メディアだけでなく、すべてで動作します。次のセクションの高さは5000pxですが、上部が表示されると、実際に描画され、正しい高さが決定されます。したがって、ページが一緒に積み重ねられているコンテンツの大きなブロックである場合、非常に多数を使用すると正常に動作するはずです。あなたのウェブサイトがこれよりも複雑な場合は、幸せになりましょう。

これはあなたがチェックするべき素晴らしいビデオです:ビデオリンク

これは、パフォーマンスを改善できるように、ブラウザにWebサイト情報を提供する必要があるものの別の例です。ブラウザ自体はこの情報を見つけることができますが、パフォーマンスコストで操作を実行した後にのみ実行できます。したがって、事前に伝えなければならないため、いくつかの種類の追加作業を避けます。レスポンシブ画像の場合、 srcset属性を使用して画像を提供し、CSSの動作情報を含むsizes属性を含むブラウザに事前にブラウザに伝えると、事前に計算でき、最高の画像のみがダウンロードされます。同様に、CSSのwill-changeプロパティについては、事前に最適化できるように移動を行うことを事前にブラウザに伝えることができます。これは理解できますが、少し退屈です。ブラウザが他のことをする前に、それに提供されるstuff-you-need-to-know.manifestものが必要なようなものですが、それは追加のリクエストになります!

アクセシビリティの問題も重要です。 Steve Faulknerはcontent-visibility: auto

コンテンツは視覚的に隠されていますが、ジョーとNVDAでは、隠された画像が発表されますが、要素の内容は発表されていません。これは、画像要素と段落要素のコンテンツがブラウザアクセシビリティツリーで表現される方法に関連しています。画像は、アクセシビリティテキストのアクセシビリティツリーにアクセシビリティ名として表示されます。段落要素の内容は、アクセシビリティツリーにはありません。

彼は、仕様により、このように隠されたコンテンツをスクリーンリーダーに提供すべきではないと指摘しました。 display: noneのようなすべてを隠すなど、両方のケースを理解できます。または、すべてをアクセシビリティツリーに保管してください。今では中間状態にあり、ALTテキスト以外のコンテキストなしに、アクセシビリティツリーに孤立した画像の束が表示される場合があります。これは、導入されている新しいテクノロジーがあなたが見たいよりも粗いかもしれないという興味深い例です。

Altのテキストといえば、私たちは皆、それらを見ることができない人々に説明する必要がある重要なことを表しているとき、それらは空ではないことを知っています。デイブは、彼らが段落のようであるべきだと言います:

私はついに最も簡単な接続を作成しました:Altテキストは段落のようなものです。テキスト写真。これは基本的なものであることは知っていますが、良いALTテキストとコードのソース順序を書く方法を理解するのに役立ちます。

ここでは否定的すぎたくない! content-visibility属性を持つ長いスクロールページをセットアップするためのパフォーマンスの向上は巨大であり、これは素晴らしいことです。 2行のコードを使用して、描画できないものをブラウザに伝えることができるのは良いことです。

  1. 私は「描画」と言い続けていますが、これが本当に正しい用語なのか、それともより具体的な意味を意味するのかはわかりません。仕様は、「ユーザーエージェントが必要になる前に多くのレイアウトを省略し、作業をレンダリングすることができるようにする」(私の強調)などのことを述べています。

コンテンツの視界の詳細

以上がコンテンツの視界の詳細の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
CSSグリッドとは何ですか?CSSグリッドとは何ですか?Apr 30, 2025 pm 03:21 PM

CSSグリッドは、複雑で応答性の高いWebレイアウトを作成するための強力なツールです。設計を簡素化し、アクセシビリティを向上させ、古い方法よりも多くの制御を提供します。

CSS Flexboxとは何ですか?CSS Flexboxとは何ですか?Apr 30, 2025 pm 03:20 PM

記事では、レスポンシブデザインにおけるスペースの効率的なアラインメントと分布のためのレイアウト方法であるCSS FlexBoxについて説明します。 FlexBoxの使用量を説明し、CSSグリッドと比較し、ブラウザのサポートを詳細に説明します。

CSSを使用してWebサイトを応答するにはどうすればよいですか?CSSを使用してWebサイトを応答するにはどうすればよいですか?Apr 30, 2025 pm 03:19 PM

この記事では、ビューポートメタタグ、柔軟なグリッド、流体メディア、メディアクエリ、相対ユニットなど、CSSを使用してレスポンシブWebサイトを作成するための手法について説明します。また、CSSグリッドとフレックスボックスを使用してカバーし、CSSフレームワークを推奨しています

CSSボックスサイズのプロパティは何をしますか?CSSボックスサイズのプロパティは何をしますか?Apr 30, 2025 pm 03:18 PM

この記事では、要素の寸法の計算方法を制御するCSSボックスサイズのプロパティについて説明します。コンテンツボックス、ボーダーボックス、パディングボックスなどの値と、レイアウト設計とフォームアライメントへの影響について説明します。

CSSを使用してアニメーション化するにはどうすればよいですか?CSSを使用してアニメーション化するにはどうすればよいですか?Apr 30, 2025 pm 03:17 PM

記事では、CSS、キープロパティ、およびJavaScriptとの組み合わせを使用してアニメーションの作成について説明します。主な問題は、ブラウザの互換性です。

CSSを使用してプロジェクトに3D変換を追加できますか?CSSを使用してプロジェクトに3D変換を追加できますか?Apr 30, 2025 pm 03:16 PM

記事では、3D変換、主要なプロパティ、ブラウザの互換性、およびWebプロジェクトのパフォーマンスに関する考慮事項にCSSを使用して説明します。

CSSに勾配を追加するにはどうすればよいですか?CSSに勾配を追加するにはどうすればよいですか?Apr 30, 2025 pm 03:15 PM

この記事では、CSSグラデーション(線形、放射状、繰り返し)を使用して、ウェブサイトのビジュアルを強化し、深さ、フォーカス、および現代の美学を追加します。

CSSの擬似要素とは何ですか?CSSの擬似要素とは何ですか?Apr 30, 2025 pm 03:14 PM

記事では、CSSの擬似要素、HTMLスタイリングの強化における使用、および擬似クラスとの違いについて説明します。実用的な例を提供します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール