バッジのフォントサイズをより小さいデザイントークンへ移行

shoelace-style/webawesome

wa-badge コンポーネントの font-size に使用するデザイントークンを --wa-font-size-2xs から --wa-font-size-3xs に更新しました。#2154 で新たに追加された 3xs トークンを活用することで、バッジのテキストサイズがより意図した値に近づきます。

背景

--wa-font-size-3xs(10px)トークンの追加を受けて、wa-badge のフォントサイズ指定を見直す提案がなされました。#2154 はタイポグラフィのフォントサイズスケールを拡張し、3xs(10px)と 5xl(66px)の2つのトークンを新たに追加した変更です。このPRのレビュー中に @lindsaym-fa から、wa-badge が参照するトークンをより小さい 3xs に切り替えるべきとの提案がありました。

これまで wa-badge--wa-font-size-2xs を参照していましたが、3xs トークンが存在しなかったため、スケール上で最小に近い 2xs が代替として使われていた形です。3xs トークンが利用可能になったことで、バッジ用のより適切な参照先が整いました。

技術的な変更

変更は badge.styles.ts の1行のみで、font-size プロパティのトークン参照を 2xs から 3xs に置き換えています。

変更前:

font-size: max(var(--wa-font-size-2xs), 0.75em);

変更後:

font-size: max(var(--wa-font-size-3xs), 0.75em);

max() 関数の役割は変更前後で共通しており、--wa-font-size-3xs(10px)と 0.75em の大きい方が採用されます。これにより、親要素のフォントサイズが十分に小さい場合でも、バッジのテキストが極端に小さくなることを防ぐフォールバックが維持されます。

合わせて changelog.md にも1行の記述が追加され、このバグ修正が変更履歴に記録されています。

設計判断

max() による下限保証というパターンは、今回の変更でも踏襲されています。絶対値のデザイントークン(--wa-font-size-3xs = 10px)と相対値(0.75em)の大きい方を取ることで、コンテキストに応じた柔軟なサイズ調整と、可読性を損なわない最小サイズの担保を両立させています。

トークンの参照先を変更するだけで、max() の構造やその他のスタイルには一切手を加えていない点も注目できます。デザイントークンのスケールが拡張された際に、利用側のコンポーネントが最小限の変更で追随できるのは、このトークンベースのアプローチの利点です。

まとめ

本PRは1行の変更ながら、#2154 で整備されたデザイントークンスケールを wa-badge が適切に参照するための仕上げ作業です。スケール拡張とそれを活用するコンポーネントの更新を別PRで追跡する運用は、変更の意図と影響範囲を明確に保つ設計プロセスの実践例といえます。

記事メタデータ

Generated by:
Claude Sonnet 4.6 for DiffDaily
LLM Trace:
28ae124b

この記事は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リンク記法の正確性

ファイル名付きシンタックスハイライト(```typescript:path/to/file```)やPR番号のリンク記法([#123](URL))など、カスタムMarkdown構文が正しく使用されています。

対象読者への適合性 ✓ PASS

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

デザイントークンやCSSカスタムプロパティといったフロントエンド開発の専門知識を前提としており、対象読者であるエンジニアに適した技術レベルと表現です。

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

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

各セクションが総論から各論へ展開し、各パラグラフはトピックセンテンスで始まるなど、パラグラフ・ライティングの原則が守られており、非常に読みやすい構成です。

Diff内容との照合 ✓ PASS

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

記事内で引用されている`badge.styles.ts`のコード変更は、提供されたDiff情報と完全に一致しており、ファイルパスも正確です。

技術用語の正確性 ✓ PASS

技術用語の正確な使用

「デザイントークン」「max()関数」「em」など、使用されている技術用語は文脈に沿って正確かつ適切です。

説明の技術的正確性 ✓ PASS

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

`max()`関数がフォールバックとして機能する仕組みや、デザイントークン移行の背景に関する説明は、技術的に正確で論理的です。

事実の突合 ✓ PASS

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

記事内の主張はすべてPRのDescriptionやDiff内容、またはDescriptionで明確に参照されている別PR(#2154)の内容に基づいており、根拠のない創作や推測(ハルシネーション)は見られません。

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

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

PR番号(#2162, #2154)やデザイントークンの名称(--wa-font-size-3xs)など、数値や固有名詞はすべて正確に記載されています。

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

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

記事のタイトル「バッジのフォントサイズをより小さいデザイントークンへ移行」は、元のPRの主題を的確に要約しており、内容との整合性が取れています。

外部知識の正確性 ✓ PASS

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

記事内で言及されている具体的なピクセル値(10pxなど)は、PR Descriptionで参照されている`#2154`で定義された情報に準拠しており、無関係な外部知識の捏造ではありません。

時間表現の正確性 ✓ PASS

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

PR Descriptionの「now that the ... token is available」という表現を「利用可能になったことで」と正確に反映しており、時間表現の歪曲はありません。