公開日: 2025 年 11 月 21 日
これまで、Target.com のブラウザ サポートは、主に Target.com で購入するすべてのユーザーをサポートすることに基づいていました。このポリシーは、Internet Explorer のサポートを完全に停止したり、特定の最小バージョンのブラウザを対象として価値の高い機能にアクセスしたりするなど、重要な決定ポイントで変更されます。この処理は、必要に応じて数年に 1 回行われます。
Target.com では、対象とするブラウザと機能に関するプログレッシブ ポリシーがなかったため、ポリフィルやトランスパイルなどの強引なソリューションを使用して、非常に古いバージョンの JavaScript に対応することで、コードベースで最新の機能のみが許可されていました。WebDX Community Group が Baseline をリリースしたとき、Target.com の関係者は、より適切な最小サポート ターゲットを見つけることを検討する適切なタイミングだと考えました。
Baseline を使用することで、Target はサポートされているブラウザで利用可能な機能を確実に把握し、プログレッシブ エンハンスメントとポリフィルで利用可能になった最新の機能をフォールバックとして特定できるようになりました。
問題
Target.com には、毎日数十人のエンジニアがコードを投稿しています。コードレビューでは、Can I use をリソースとして使用して、Target.com のサポート対象ブラウザ バージョンで動作しない機能を指摘することがよくあります。エンジニアがコードを最新機能ではなくレガシー機能に優先的に変更するようコメントを繰り返し受け取ると、新しいウェブ機能の回避につながります。Target は、機能する「古い」手法の使用にフォールバックしますが、最新の機能を使用する機会は別の機会に延期されます。最新のウェブ機能を使用すると、デベロッパー エクスペリエンスが向上し、コードの量を減らすことでユーザー エクスペリエンスも向上します。
ブラウザ サポートに関するデータドリブン アプローチ
Target.com には、サポートされているブラウザの最小バージョンを定義する webpack 構成があります。これまで、サポートされるブラウザの最小バージョンを上げることは正当化が難しいものでした。2025 年初頭のルールは次のとおりです。
- Chrome、Edge、Firefox の最新バージョンと 2 つ前のバージョン。
- Safari 11 以降。
iOS の Safari からのトラフィックと売上が多いため、Safari はより慎重に扱われます。当初は、Safari 11 を開発の最小バージョンとして設定するという、十分な根拠に基づいた決定が下されました。この決定により、Target.com は 2017 年以前に利用可能だったウェブ機能に固定されました。
Target が Baseline を開発ワークフローに統合する最初のステップでは、データドリブン アプローチが採用されました。調査の結果、Target は Safari バージョン 11 ~ 14 がビジネスに与える影響は非常に小さい(Target.com の需要売上の 0.0001%)ことを発見しました。この結果を踏まえ、Target は、これらの古いブラウザ バージョンのトランスパイルとポリフィルを削除することで、サイトのパフォーマンスを大幅に改善できると判断しました。
追加の調査では、Safari 15.4 が需要の 0.5% 以上の売上を達成した最初の Safari バージョンであり、それ以降の Safari 15 の各マイナー バージョンも同様の影響を及ぼしていることがわかりました。Target が A/B テストを実施するたびに、需要売上の 0.5% を変更することは非常に価値があり、Safari の最小サポート バージョンはバージョン 15 の範囲内にあるべきだという結論に至りました。
この調査で興味深い傾向として、古い Safari ブラウザの使用率が急速に低下していることがわかりました。2024 年 9 月の時点で、Safari 15 は Target.com の需要売上の 0.94% にしか貢献していませんでした。2025 年 1 月には 0.67% に、2025 年 5 月には 0.45% に、2025 年 11 月には 0.32% にまで減少しました。Target は、需要の売上高全体に対する割合として実質的な金額のしきい値を設定すれば、これらのブラウザのサポートを自動的に終了させ、Safari 16 の次のメジャー バージョンを年内に実現できることを学びました。
サポートの終了は、サポート対象外のブラウザがブロックされることを意味するものではありません。サポート対象外のブラウザを使用しているユーザーは、購入に至る経路を見つけられる可能性がありますが、場合によってはエクスペリエンスが低下する可能性があります。変更後もデータドリブン アプローチを継続した結果、アナリストはビジネス指標に測定可能な影響はなかったと報告しています。また、サポートされていないブラウザ バージョンで、エクスペリエンスの低下を警告するバナーを表示することも検討しています。
Target.com のベースラインの目標値を選択する
Target のウェブ エンジニアは、これらの取り組みを統合し、最新の機能とサポート対象ブラウザの動的なターゲットを使用してポリシーを推進するために、ベースライン ワーキング グループを結成しました。Baseline のツールを使用して、各年の最小ブラウザ セットを調べました。Target の新しいポリシーに最も近いターゲットは Baseline 2022 でした。
{
"chrome": "108",
"edge": "108",
"firefox": "108",
"ios": "16",
"safari": "16"
}
このベースラインに到達するには、Target はブラウザ ポリシーを現在の 15.4 ではなく、少なくとも Safari 16 に調整する必要があります。これにより、コンバージョンに至った買い物客の 0.5% 未満のエクスペリエンスが低下します。それでも、その割合は縮小しているため、Target は 2025 年末までに、公式ポリシーを Baseline 2022 に関連付けるよう更新することを望んでいます。これにより、Target.com のデベロッパーは、毎年公開されるベースラインから 3 年遅れでターゲットを変更できるようになります。
全体的に、Target.com の webpack バンドルは、コードのトランスパイルが少なく、ポリフィルが追加されているため、サイズが小さくなっています。この目標は時間の経過とともに変化すると確信しています。来年の今頃には、コンテナクエリ、:has セレクタ、inert 属性など、多くの優れた機能を含む Baseline 2023 を採用できることを願っています。
新しい Baseline 機能セットについて
Target Baseline ワーキング グループは、Baseline 2022 で活動を終了するわけではありません。Baseline 2023 の機能を見ると、ポリフィルなどのバックアップなしでサポートできるかどうかの境界線上に多くの機能があります。Target が関心を持っている Baseline 2023 の各機能では、次のことが求められます。
- 機能の内容を明確に説明します。
- デベロッパー エクスペリエンスの改善など、Target.com の利便性を高めるための使用方法を文書化します。
- Target.com のコードベース内で機能を実装するための適切なテストケースを見つけます。
- 必要に応じて、プログレッシブ エンハンスメントや、機能検出によって提供されるその他のソリューションなど、使用するフォールバックを文書化します。
- 最後に、この機能の使用が承認されるのはいつ頃ですか?今すぐ使用できますか?それとも、将来のしきい値まで待つべきでしょうか?
たとえば、inert 属性があります。Safari で inert を使用するための最小バージョンは 15.5 です。つまり、Target.com はまもなくこの機能を使用できるようになります。Target.com には、現在の JavaScript ソリューションと比較してこの属性がメリットとなるモーダル実装が多数あります。エンジニアがこの機能に関するレポートを作成することで、知識の共有が可能になり、ブラウザ ポリシーの次の緩和に備えることができます。これにより、ビジネス価値の低いブラウザ バージョンのサポートを終了することで、価値のある機能をリリースできることを説明しやすくなります。この機能は、フィーチャー トグルで設計、レビュー、デプロイできます。また、使用できる場合に備えて準備できます。
また、別のエンジニアが、コンテナ クエリ(現在 Baseline で広く利用可能)を使用する同じプロセスをたどります。コンテナ クエリはポリフィルで使用できますが、ポリフィルにはパフォーマンスに関する既知の問題があります。Target が考え出した解決策は、ブラウザの最小要件がこの機能を完全にサポートするまで、コンテナ クエリをプログレッシブ エンハンスメントとしてのみ使用することでした。
Target.com では、このプロセスがうまく機能しています。機能の最小バージョンが十分に利用されるようになると、プログレッシブ エンハンスメントは不要になり、機能を使用できるようになります。最近の監査で、Target.com が不要なポリフィルを大量に配信していることが判明しました。アプリケーションに Baseline を実装することで、このような技術的負債を抑制できます。
Baseline のコンセプトとウェブ パフォーマンスの関連付け
パフォーマンスは、小売業のウェブサイトにとって重要です。Target.com の開発者が共有している信念の一つは、JavaScript が多すぎるということです。ユーザーに配信される JavaScript バンドルの 5% を削減できれば、大きな成果が得られますが、Target.com 全体でウェブに関する主な指標が大幅に改善されるわけではありません。ただし、Target がこれを 10 回達成すれば、バンドルサイズが 50% 削減され、Target のパフォーマンス目標に大きく貢献することになります。
Target の Baseline への取り組みにより、Target.com のエンジニアは、モーダル、アクセシビリティのニーズ、ポップオーバー、カルーセル、アコーディオンなど、一般的なユーザー エクスペリエンスに関する問題で必要となる JavaScript の量について考え始めることができました。これらのそれぞれに、アプリケーションの JavaScript の肥大化につながるポリフィルまたはカスタム JavaScript ソリューションが必要です。Target は Baseline を使用するため、ブラウザ ターゲットは時間の経過とともに進化し、新しい機能を含めるポリシーは緩和される可能性があります。Target は、時間の経過とともにコードのトランスパイルや機能のポリフィルを減らし、機会があればウェブ コンポーネントを採用することを想定しています。プロジェクトのツールチェーンで出荷されるポリフィルとターゲット ブラウザに注意を払うことで、Target.com の JavaScript バンドル サイズはすでに 10%削減されています。これは、新しい機能を採用する前の状態です。これは年々改善されるはずであり、Target.com のパフォーマンス改善のために Target が行っている大規模な投資と直接相関しています。
要点
Target.com では、ベースラインの目標を設定し、新しく利用可能になったウェブ機能と広く利用可能になったウェブ機能のベースライン レポートを厳選することで、大きな成果を上げています。主な成果は次のとおりです。
- ブラウザのターゲットが、8 年前にリリースされたブラウザのサポートから 3 年前にリリースされたブラウザのサポートに移行しました。
- Baseline 2022 の基準目標は 2025 年末までに達成される予定です。
- Target.com の JavaScript バンドルの合計サイズが 10% 削減されました。
- ビジネスの 1% 未満しか提供していない古いブラウザのロングテールは、年間約 300% の割合で減少しています(2024 年 9 月の 0.94% から 2025 年 11 月の 0.32%)。
ウェブの進化がかつてないほど速いことを認識した Target は、これまで以上に迅速に機能を導入するようになりました。これらの機能を整理することで、Target は各機能のロックを解除するタイミングを事前に計画し、大規模な小売ウェブサイトに貢献するエンジニアがどの機能をいつ使用できるかを把握できるようにしています。