検索

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 までご連絡ください。
スクリーンリーダーの分解:アクセス可能なフォームとベストプラクティススクリーンリーダーの分解:アクセス可能なフォームとベストプラクティスMar 08, 2025 am 09:45 AM

これは、フォームアクセシビリティについて行った小さなシリーズの3番目の投稿です。 2番目の投稿を逃した場合は、「ユーザーフォーカスの管理:Focus-Visible」をご覧ください。で

Smart Forms Frameworkを使用してJavaScript連絡フォームを作成するSmart Forms Frameworkを使用してJavaScript連絡フォームを作成するMar 07, 2025 am 11:33 AM

このチュートリアルでは、Smart Formsフレームワークを使用して、プロフェッショナルなJavaScriptフォームの作成を示しています(注:使用できなくなりました)。 フレームワーク自体は利用できませんが、原則とテクニックは他のフォームビルダーに関連しています。

WordPressブロックと要素にボックスシャドウを追加しますWordPressブロックと要素にボックスシャドウを追加しますMar 09, 2025 pm 12:53 PM

CSS Box-Shadowおよびアウトラインプロパティは、WordPress 6.1でTheme.jsonサポートを獲得しました。実際のテーマでどのように機能するか、そしてこれらのスタイルをWordPressブロックと要素に適用するために必要なオプションのいくつかの例を見てみましょう。

GraphQLキャッシングの使用GraphQLキャッシングの使用Mar 19, 2025 am 09:36 AM

最近GraphQLの作業を開始した場合、またはその長所と短所をレビューした場合、「GraphQLがキャッシュをサポートしていない」または

最初のカスタムSvelteトランジションを作成します最初のカスタムSvelteトランジションを作成しますMar 15, 2025 am 11:08 AM

Svelte Transition APIは、コンポーネントがカスタムSVELTE遷移を含むドキュメントを入力または離れるときにアニメーション化する方法を提供します。

上品でクールなカスタムCSSスクロールバー:ショーケース上品でクールなカスタムCSSスクロールバー:ショーケースMar 10, 2025 am 11:37 AM

この記事では、Scrollbarsの世界に飛び込みます。私は知っています、それはあまりにも魅力的ではありませんが、私を信じてください、よく設計されたページは手をつないで行きます

ショー、Don' t Tellショー、Don' t TellMar 16, 2025 am 11:49 AM

あなたのウェブサイトのコンテンツプレゼンテーションの設計にどれくらいの時間に費やしますか?新しいブログ投稿を書いたり、新しいページを作成したりするとき、あなたは考えていますか

NPMコマンドは何ですか?NPMコマンドは何ですか?Mar 15, 2025 am 11:36 AM

NPMコマンドは、サーバーの開始やコンパイルコードなどの1回限りのプロセスまたは継続的に実行されるプロセスとして、さまざまなタスクを実行します。

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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

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

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

Safe Exam Browser

Safe Exam Browser

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

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター