最新のWebテクノロジーは、ますます豊富なオンラインエクスペリエンスを提供しますが、一部の機能は、使いやすさ、セキュリティ、プライバシーの考慮事項のために予期せず動作する可能性があります。この記事は、そのようないくつかのインスタンスを強調しています。
:visited
リンクとgetComputedStyle
制限訪問されたリンクのスタイリング(<visited></visited>
)歴史の漏れを防ぐために長い間制限されてきました。訪問されたリンクでgetComputedStyle
使用しようとすると、代わりに訪問されていないスタイルが返されます。副作用または兄弟セレクターを使用した回避策は効果がありません。この制限により、ブラウザ機能の搾取の複雑さと、開発者がこれらのニュアンスを認識する必要性を強調しています。
以前は、CDNSが複数のサイトにわたってGoogleフォントなどの資産のブラウザキャッシュを有効にしていました。ただし、これにより大きなプライバシーの脆弱性が生じ、タイミング攻撃がユーザーの閲覧履歴を明らかにすることができます。これに対処するために、ブラウザはクロスサイトアセットキャッシングを許可しなくなりました。
performance.now()
の不正確さSpecterのようなエクスプロイトはperformance.now()
の高い精度を活用して、機密性の高いCPUデータにアクセスしました。これを緩和するために、ブラウザはperformance.now()
の精度を意図的に減らし、HTTPヘッダーやブラウザー設定などの要因に基づいて変化するノイズ(20μsから1ms)を導入します。
loading="lazy"
属性は、画像とiframes(一部のブラウザで)の怠zyなロードを簡素化しますが、JavaScriptが機能する必要があることを理解することが重要です。 JavaScriptを無効にすると、怠zyなロードが操作対策測定として防止されます。 「JavaScriptなし」の怠zyなロードの主張は誤解を招きます。
ユーザーは、FirefoxやTORなどのブラウザに見られるように、セキュリティとプライバシーを強化するためにブラウザの機能を大幅に制限できます。これは、可変精度、APIアクセス、メディアクエリマッチングなどの機能に影響を与えます。これを緩和するには、進行性の強化と優雅な劣化が不可欠です。
セマンティックHTMLはアクセシビリティを向上させますが、スクリーンリーダーは予想どおりに常にセマンティクスを解釈するとは限りません。リストマーカーを削除すると、一部のブラウザでセマンティックな意味を削除できます。<strong></strong>
、<em></em>
、 そして<mark></mark>
潜在的なノイズのために一貫性がないか、省略される可能性があります。ユーザーとのテストと視覚的なスタイリングを検討することが不可欠です。
ブラウザベンダーは、プライバシーを強化して、データの持続性を制限するために、Webストレージに有効期限ポリシーを実装できます。たとえば、Safariは、Scriptで作成可能なストレージを7日間に制限します。
多くのWeb機能は、直感的に予想されるように正確に動作しません。開発者は、ユーザーのニーズを批判的に評価し、進歩的な強化と優雅な劣化を優先して、ブラウザとユーザーの好み全体で一貫した機能を確保し、完全なクロスブラウザーのパリティがしばしば達成できないことを認めてください。これらの制限を理解することは、堅牢でアクセス可能なWebサイトを構築するための鍵です。
以上があなたが期待するように機能しないかもしれないWeb機能の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。