`scrollbar-width` と `scrollbar-color` をプロパティ順序リストに追加

tailwindlabs/tailwindcss

Tailwind CSS の内部プロパティ順序リストに scrollbar-widthscrollbar-color が追加され、これらのスクロールバー関連ユーティリティのソート順が安定化されました。

背景

#19981scrollbar-{auto,thin,none} および scrollbar-thumb-* / scrollbar-track-* といったスクロールバー関連ユーティリティが実験的機能として追加されましたが、対応するCSSプロパティ(scrollbar-widthscrollbar-color)が property-order.ts のリストに含まれていませんでした。プロパティ順序リストは、Tailwind CSS が複数のユーティリティクラスを組み合わせたときに生成CSSの順序を決定論的に保つための仕組みです。このリストへの登録がなければ、scrollbar-widthscrollbar-color を同時に使用した際のプロパティ出力順が不定となる可能性がありました。

プロパティ順序が不安定だと、ビルド結果が実行のたびに異なる可能性があり、テストのスナップショット不一致やCSSのカスケード動作の予測困難につながります。今回の変更はその潜在的な問題を解消するものです。

技術的な変更

packages/tailwindcss/src/property-order.ts に2行が追加され、既存の scrollbar-gutter の直前に scrollbar-widthscrollbar-color が登録されました。

変更前:

  'scroll-padding-bottom',
  'scroll-padding-left',

  'scrollbar-gutter',

変更後:

  'scroll-padding-bottom',
  'scroll-padding-left',

  'scrollbar-width',
  'scrollbar-color',
  'scrollbar-gutter',

この順序変更を受けて、既存のスナップショットテストも更新されています。plugin-api.test.ts では、scrollbar-[2px]scrollbar-width)が scrollbar-[#08c]scrollbar-color)よりも前に出力されるよう期待値が修正されました。同様に config.test.ts でも、scrollbar-primarybg-primary よりも先に出力される順序に更新されています。

設計判断

scrollbar-widthscrollbar-color という順序 は、既存の border-widthborder-color の並びと同じパターンを踏襲しています。Tailwind CSS のプロパティ順序リストは「幅(寸法)→色」という一貫したルールで整理されており、スクロールバー関連プロパティもこの規則に従う形で挿入されました。

scrollbar-gutterscrollbar-width / scrollbar-color とは異なりスクロールバー領域の予約に関するプロパティであるため、今回追加された2つとは別グループとして扱われ、後続に位置しています。この配置はプロパティの意味的なグループを尊重した判断といえます。

まとめ

今回の変更は小規模ながら、#19981 で導入されたスクロールバーユーティリティの実装を完全なものにする重要な補完です。プロパティ順序の一貫性を保つことで、ユーティリティの組み合わせによる出力の再現性が保証され、テストの安定性とCSSカスケードの予測可能性が確保されます。

記事メタデータ

Generated by:
Claude Sonnet 4.6 for DiffDaily
LLM Trace:
7241c53a

この記事はAIによって自動生成されています。内容の正確性については、必ずソースコードやPRを確認してください。

品質レビュー結果

Review Status:
承認済み
Review Count:
1回
Reviewed by:
Gemini 2.5 Pro for DiffDaily

Review Criteria:

記事構成 ✓ PASS

Title, Context, Technical Detailの存在と明確さ

リード文(総論)→ 背景・技術詳細(各論)→ まとめ(結論)という「総論→各論→結論」の構成が明確で、非常に分かりやすいです。

カスタムMarkdown構文 ✓ PASS

シンタックスハイライト・GitHubリンク記法の正確性

ファイル名付きシンタックスハイライト、PR番号のリンク記法ともに正しく使用されています。

対象読者への適合性 ✓ PASS

エンジニア向けの適切な技術レベルと表現

Tailwind CSSの内部実装に関する内容であり、専門知識を持つエンジニアという対象読者に適切です。過度な説明がありません。

パラグラフ・ライティング ✓ PASS

トピックセンテンス・1段落1トピック・段落長

各セクション、各パラグラフが「総論→各論」の構成で書かれています。また、各段落の冒頭にトピックセンテンスが配置されており、非常に高い可読性を実現しています。

Diff内容との照合 ✓ PASS

コードブロックとDiff内容の一致

記事内で引用されているコードブロックは、提供されたDiff情報と完全に一致しています。テストファイルの変更に関する説明も正確です。

技術用語の正確性 ✓ PASS

技術用語の正確な使用

「プロパティ順序リスト」「スナップショットテスト」「カスケード動作」など、文脈に応じた技術用語が正確に使用されています。

説明の技術的正確性 ✓ PASS

技術的主張の正確性と論理性

プロパティ順序リストの役割や、今回の変更がなぜ必要だったのかについての技術的な説明は、正確かつ論理的です。

事実の突合 ✓ PASS

PR情報による主張の裏付け(ハルシネーション検出)

記事内のすべての主張は、PRのタイトル、Description、Diffの内容によって裏付けられています。根拠のない推測や憶測は見られません。

数値・固有名詞の確認 ✓ PASS

PR番号・コミットID・バージョン等の正確性

PR番号(#19981, #20019)やファイル名(property-order.tsなど)が正確に記載されています。

タイトル・説明との一致 ✓ PASS

記事タイトル・説明とPR内容の一致

記事のタイトルはPRのタイトルを忠実に反映しており、内容と一致しています。

外部知識の正確性 ✓ PASS

PRに記載のない外部知識(LTS、サポート状況など)の不使用

PR情報に含まれない外部知識(バージョンサポート状況、リリース日程など)の追加はなく、提供された情報源に忠実です。

時間表現の正確性 ✓ PASS

時間表現がPR情報と一致しているか

「〜でした」「〜されます」といった時間表現は、PRの文脈と一致しており、誤解を招く表現はありません。