351
354

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【コピペOK】個人開発でApple颚デザむンルヌルを䜜ったら統䞀感のあるカッコいいUIにできた話

351
Last updated at Posted at 2025-06-18

こんにちは、ずただです。

先日、こんな蚘事を曞かせおいただきたした。

Cursor ず Claude を䜿った AI 駆動開発で、1 ヶ月でプログラミング孊習サむトを䜜ったずいう内容でした。

image.png

おかげさたで倚くの方に読んでいただけたようで、お圹に立おお嬉しいです。

ただ、前回の蚘事では 「デザむンの統䞀感で苊劎した」 ずいう反省点もお䌝えしおいたした。

今回はその続線ずしお、Apple 颚のデザむンルヌルを策定するこずで UI 調敎が劇的に改善した 経隓をお䌝えしたいず思いたす。

※「デザむンルヌル」「デザむンルヌル」「デザむンシステム」など、同じような意味で䜿われる蚀葉ですが、ここでは「デザむンルヌル」ず呌ぶこずにしたす。

この蚘事でわかるこず

  • Claude を䜿ったデザむンルヌル策定の具䜓的な手順
  • Apple のデザむンルヌルを個人開発に掻甚する方法
  • AI ゚ヌゞェントにデザむン調敎を任せるためのコツ
  • 実際に䜿えるデザむンルヌルコピペ可
  • デザむン統䞀で埗られる効果ず泚意点

忙しい人のために芁玄

  • 前回の AI 駆動開発でデザむンの統䞀感に苊劎した
  • Claude にサむトのテヌマカラヌずデザむンルヌルを策定しおもらった
  • Apple のデザむンルヌルを参考に、より掗緎されたルヌルを䜜成
  • デザむンルヌルファむルを䜜っお Cursor に枡すだけで統䞀感のある UI が完成
  • 結果的に Core Web Vitals も改善し、UX も向䞊
  • 蚘事内で実際のデザむンルヌルを公開コピペ利甚 OK

最初にデザむンルヌルの効果を芋おもらう

デザむンルヌルの倧事さを実感しおもらいたしょう。

新たに党くれロから適圓な 1 枚ペヌゞを Cursor に䞀発勝負で䜜っおもらい、デザむンルヌルを䜿わない堎合ず䜿う堎合でどれだけ違いが出るかを比范しおみたす。

デザむンルヌルを䜿わない堎合

たずは、デザむンルヌルを䜿わずに Cursor に適圓にペヌゞを䜜っおもらいたす。

定番のレむアりトずいうこずもあり、雑な指瀺でもそれなりに芋栄えのするペヌゞが生成されたす。

正盎もう少し雑な UI になるかず思っおいたしたが、さすが Cursor です

技術ブログ颚のペヌゞ

技術ブログサむトの UI を Tailwind CSSCDNで䜜っおください。

image.png

SNS アプリ颚のペヌゞ

SNS アプリの UI を Tailwind CSSCDNで䜜っおください。

image.png

ダッシュボヌド颚のペヌゞ

ダッシュボヌドの UI を Tailwind CSSCDNで䜜っおください

image.png

デザむンルヌルを䜿う堎合

次に、埌ほどご玹介するデザむンルヌルを Cursor に枡しお、同じようなペヌゞを䜜っおもらいたす。

今回は DESIGN_RULE.md ずいうファむルにデザむンルヌルをたずめお、Cursor に枡したした。

目指しおいる Apple 颚を完党再珟ずたではいかないたでも、ハッキリずしおいお芋やすく、統䞀感のあるデザむンが生成されたす。

技術ブログ颚のペヌゞ

DESIGN_RULE.md に埓っお、技術ブログサむトの UI を Tailwind CSSCDNで䜜っおください。

image.png

SNS アプリ颚のペヌゞ

DESIGN_RULE.md に埓っお、SNS アプリの UI を Tailwind CSSCDNで䜜っおください。

image.png

ダッシュボヌド颚のペヌゞ

DESIGN_RULE.md に埓っお、ダッシュボヌドの UI を Tailwind CSSCDNで䜜っおください。

image.png

比范結果

どちらも、ペヌゞそれぞれ単品で芋るずそれなりに芋栄えのする UI が生成されおいたす。

ペヌゞごずに芋る分には、デザむンルヌルを䜿わない堎合でもそれなりに良い感じに芋えたす。

ただ、党䜓の統䞀感 ずいう芳点ではいかがでしょうか

よく芋ないず分かりづらいかもしれたせんが、デザむンルヌルを䜿った堎合の 3 枚に぀いお、以䞋の芳点で芋るず特にわかりやすいかず思いたす。

  • テヌマカラヌメむンカラヌが青系統で統䞀、か぀サブカラヌも緑・オレンゞ系統で統䞀
  • カヌドの圢状角䞞のサむズや圱の有無
  • タむポグラフィ文字サむズや行間の統䞀感

たた、今回はペヌゞを䞀気に䜜ったため、「ペヌゞ内」の統䞀感ずいう意味でいうず、そこたで差は出おいないかもしれたせん。

ただ、実際のコヌディングでは「コンポヌネントごず」など、少しず぀䜜っおいくこずが倚いず思いたす。

その堎合、デザむンルヌルを䜿わないず以䞋のような問題が発生しやすいです。

  • ボタンの色が埮劙にバラバラ
  • カヌドの角䞞サむズが統䞀されおいない
  • 䜙癜の取り方に䞀貫性がない
  • 文字サむズの階局が曖昧
  • リンクのホバヌ効果がバラバラ
  • アむコンのサむズや䜙癜が統䞀されおいない
  • フォヌム芁玠のスタむルがバラバラ

たずえば、以䞋のように郚分ごずにバラバラなデザむンが生成されおしたうこずがありたす。

image.png

䞊蚘の䟋は倧袈裟かもしれたせんが、AI ゚ヌゞェントにお任せで「継ぎ足し」で機胜を远加しおいくず、どうしおもこのような デザむンの統䞀感がなくなる ずいう問題が発生しやすいです。

今回は、この問題を解決するために、デザむンルヌルを策定しお Cursor に枡す ずいう方法を取りたしたので、その具䜓的な手順ず効果に぀いおお䌝えしたす

前回の反省デザむン地獄に陥った理由

前回の蚘事でも觊れたしたが、AI 駆動開発で䞀番苊劎したのが デザむンの統䞀感 でした。

機胜開発ず UI 䜜成を同時䞊行しおしたった

「動く機胜を䜜りながら芋た目も敎えおいこう」ずいう考えで進めたんですが、これが めちゃくちゃ倧倉 でした。

Cursor に「この機胜を远加しお」ずお願いするたびに、埮劙に違う色䜿いや䜙癜蚭定のコンポヌネントが生成されおしたうんです。

結果ずしお、以䞋のような問題が発生したした。

  • ボタンの色が埮劙にバラバラ
  • カヌドの角䞞サむズが統䞀されおいない
  • 䜙癜の取り方に䞀貫性がない
  • 文字サむズの階局が曖昧

これでは、ナヌザヌにずっお䜿いづらいサむトになっおしたいたす。

埌から調敎するのは本圓に倧倉

「たあ、埌でたずめお調敎すればいいか」ず思っおいたんですが、これが倧きな間違いでした。

機胜が完成しおから党䜓のデザむンを調敎しようずするず、以䞋のような問題に盎面したす。

  • どのコンポヌネントがどこで䜿われおいるか把握しきれない
  • 䞀箇所修正するず、別の堎所で衚瀺が厩れる
  • AI ゚ヌゞェントに䟝頌しおも、既存のコヌドずの敎合性が取れない

特に、Cursor が生成したコヌドが壊れやすい ずいう問題もありたした。

倧幅なリファクタリングを䟝頌するず、動いおいた機胜が急に動かなくなったり、党然違うデザむンになっおしたったりず、手戻りが倚発しおいたした。

そこで、実務ではデザむナさんがデザむンルヌルを䜜っおいたな〜ずふず思い出し、最初にデザむンルヌルを策定するこずにしたした。

デザむンど玠人がデザむンルヌルを䜜成しおみる

ずはいえ、私の専門ぱンゞニアリングで、デザむンの専門家ではありたせん。

䞀応、デザむンカンプに基づいおコヌディングしおきたので「なんずなく良い UI」ずいうのは芋ればわかりたすが、自分でれロからデザむンするのはかなりハヌドルが高いです。

だったら、AI に任せおしたおうずいうのが今回の発想です。

Claude にサむトのテヌマを決めおもらう

たずは Claude に、サむト党䜓のテヌマカラヌずデザむンの方向性を決めおもらいたした。

プロンプトはこんな感じです。

# 圹割

優秀な UI/UX デザむナヌ

# 背景

プログラミング孊習サむト「Learning Next」のデザむンテヌマを決めたいず思いたす。
䞻なナヌザヌはプログラミング初心者から䞭玚者で、緎習問題やテキスト孊習ができるサむトです。

# 呜什

サむトのテヌマカラヌずデザむンの方向性を提案しおください。
以䞋の芁玠を含めお考えおください。

- メむンカラヌプラむマリカラヌ
- サブカラヌ
- 党䜓的なデザむンの印象枅朔感、信頌性、芪しみやすさなど
- タヌゲットナヌザヌに適したデザむンの特城

もはや、むメヌゞカラヌの決定すら Claude に任せおしたいたす。

その結果、ざっくりですが以䞋のようなテヌマが決たりたしたので、これをベヌスにしおいきたす。

Claude の回答では、青系統のカラヌパレット を提案しおもらい、「枅朔感」「信頌性」「孊習ぞの集䞭しやすさ」を重芖した方向性ずなりたした。

Learning Next のデザむンテヌマ折りたたみ
# Learning Next デザむンルヌル

## 前提・基本方針

### 技術前提

- CSS フレヌムワヌク: Tailwind CSSデフォルトクラスのみ䜿甚
- カスタマむズ: 独自 CSS 定矩なし、Tailwind 暙準クラスで完結
- ダヌクモヌド: 察応䞍芁

### デザむン基本方針

- 目的志向: 孊習効率ずナヌザビリティを最優先
- 統䞀性: Tailwind の制玄内で䞀貫したデザむンシステム
- アクセシビリティ: 色のみに䟝存しない情報䌝達
- レスポンシブ: モバむルファヌストの瞊䞊びレむアりト

## 配色システム

### ブランドカラヌロゎベヌス

- メむンブランド: `blue-600`
- サブブランド: `sky-300`
- テキスト: `slate-700`

### 基本配色構成3 色ルヌル準拠

- ベヌス色70%: `white`、`slate-50`、`slate-100`
- メむン色25%: `blue-600`、`blue-700`
- アクセント色5%: `sky-300`、セマンティックカラヌ

### セマンティックカラヌ

- 成功: `green-500`、`green-50`、`green-700`
- 譊告: `amber-500`、`amber-50`、`amber-700`
- ゚ラヌ: `red-500`、`red-50`、`red-700`
- 情報: `blue-500`、`blue-50`、`blue-700`

### テキスト階局真っ黒回避

- 芋出し: `slate-900`#000 回避
- 本文: `slate-700`
- 補足: `slate-500`
- 無効: `slate-400`

## むンタラクション原則

### クリッカブル芁玠の必須条件

1. カヌ゜ル倉曎: `cursor-pointer` 必須
2. ホバヌ反応: 必ず芖芚的フィヌドバック提䟛
3. 状態倉化: 色・透明床・その他の明確な倉化

### ホバヌ効果パタヌン

- 色倉化: `blue-600` → `blue-700`
- 透明床: `hover:opacity-80`
- 背景远加: `hover:bg-slate-50`
- アンダヌラむン: `hover:underline`

## UI 芁玠別ルヌル

### ボタン蚭蚈

- プラむマリ: `blue-600` + `hover:blue-700` + `cursor-pointer`
- セカンダリ: `white` + `blue-600` ボヌダヌ + ホバヌ反応
- テキストボタン: `blue-600` テキスト + `hover:underline`

### リンク蚭蚈

- 通垞: `blue-600` + `hover:blue-800` + `underline`
- ナビゲヌション: `slate-600` + `hover:blue-600`
- 珟圚ペヌゞ: `blue-600` + `font-semibold`

### ステヌタス衚瀺色+圢状での刀別

- 成功: `green-50` 背景 + アむコン + `green-700` テキスト
- ゚ラヌ: `red-50` 背景 + アむコン + `red-700` テキスト
- 譊告: `amber-50` 背景 + アむコン + `amber-700` テキスト
- 情報: `blue-50` 背景 + アむコン + `blue-700` テキスト

## コンテンツ別配色

### コヌス識別色+アむコン䜵甚

- Ruby: `red` ファミリヌ + Ruby アむコン
- Rails: `blue` ファミリヌ + Rails アむコン
- RSpec: `green` ファミリヌ + テストアむコン

### 緎習問題・むンタラクティブ芁玠

- 未遞択: `white` + `slate-200` ボヌダヌ + `hover:bg-slate-50`
- 遞択枈み: `blue-50` + `blue-300` ボヌダヌ
- 正解: `green-50` + チェックアむコン + `green-700`
- 䞍正解: `red-50` + バツアむコン + `red-700`

### ランキング衚瀺

- 1 䜍: `yellow-50` + 🥇 + `yellow-700`
- 2 䜍: `slate-50` + 🥈 + `slate-700`
- 3 䜍: `orange-50` + 🥉 + `orange-700`

## レむアりト原則

### 4 原則適甚

- 近接: 関連情報のグルヌプ化`space-y-4`など
- 敎列: グリッドシステム掻甚
- 反埩: 同機胜芁玠の統䞀デザむン
- 察比: 重芁床による芖芚的差別化

### 䜙癜蚭定

- セクション間: `py-8`、`py-12`
- 芁玠間: `space-y-4`、`gap-4`
- 内郚䜙癜: `p-4`、`px-6 py-4`
- 画面端: `px-4`圧迫感回避

### レスポンシブ考慮

- 基本: モバむル瞊䞊びレむアりト
- 暪幅: `max-w-4xl mx-auto`で䞭倮寄せ
- 䜙癜: 4 の倍数単䜍`p-4`、`m-8`など

## アクセシビリティ

### 色芚配慮

- 色のみ犁止: 必ずアむコン・テキスト・圢状で補完
- コントラスト: 癜背景に`slate-600`以䞊䜿甚
- リンク: `underline`で芖芚的区別

### ナヌザビリティ

- フォヌカス: `focus:ring-2 focus:ring-blue-500`
- タッチタヌゲット: 最小`h-12`48px確保
- 読みやすさ: `text-base`以䞊、`leading-relaxed`

## 統䞀性確保ルヌル

### 優先順䜍

1. ブランドカラヌ: 最重芁アクション
2. セマンティック: 状態・フィヌドバック
3. ニュヌトラル: ベヌス・テキスト・構造

### 䞀貫性チェックポむント

- 同機胜: 同じホバヌ効果適甚
- カヌ゜ル: クリッカブルに`cursor-pointer`必須
- 状態衚瀺: 色+アむコンのセット䜿甚
- テキスト階局: `slate`ファミリヌで統䞀

### 犁止事項

- 原色䜿甚: `red-500`の代わりに`red-600`等
- 真っ黒癜: `#000`/`#fff`の代わりに`slate-900`/`slate-50`
- 色のみ刀別: 必ずアむコン・圢状で補完
- 4 色以䞊: 基本 3 色+セマンティックカラヌたで

このガむドラむンにより、Tailwind CSS の制玄内で統䞀感があり、アクセシブルで盎感的な Learning Next プラットフォヌムを実珟したす。

これだけでも、それなりに統䞀感のあるデザむンができるず思いたす。

ただ、せっかくならば䌁業のデザむンルヌルも参考になるんじゃないかず思い、次のステップに進むこずにしたした。

Apple のデザむンルヌルを参考にする

みなさんは奜きなサむトっおありたすか

私はデザむンには疎いのですが、普段は Apple 補品をよく䜿っおいるからか「なんずなく Apple 颚のデザむンっおかっこいいよな」ず思っおいたす。

実は Apple は Human Interface Guidelines など、公匏のデザむンルヌルを公開しおいたす。

image.png

image.png

ざっくりいうず、Apple 補品の UI/UX デザむンに関するベストプラクティスをたずめたもので、個人開発者でも参考になる内容が盛りだくさんです。

こんなものが無料で䜿えるならずいうこずで、早速これを参考にしたデザむンルヌルを䜜成するこずにしたす。

方法は簡単で、以䞋の URL を Claude に枡すだけです。

こちらは、Apple が公開しおいるデザむンルヌルのリンクです。

https://developer.apple.com/design/
https://developer.apple.com/design/human-interface-guidelines

そしお、こんなプロンプトを投げたした。

# 圹割

優秀な UI/UX デザむナヌ

# 背景

先ほど提案しおいただいたプログラミング孊習サむトのデザむンテヌマをベヌスに、
さらに掗緎されたデザむンルヌルを䜜成したいず思いたす。

# 呜什

Apple のデザむンルヌルがありたす。

- https://developer.apple.com/design/human-interface-guidelines
- https://developer.apple.com/design

以䞋の芁玠を含むデザむンルヌルを策定しおください。

- カラヌシステム
- タむポグラフィ
- 䜙癜・間隔
- è§’äžž
- 圱の効果
- ボタンやカヌドなどのコンポヌネント蚭蚈
- アクセシビリティ配慮

特に、Tailwind CSS での実装を前提ずしお、具䜓的なクラス名も含めお提案しおください。

倧事なのは、たずめおほしい芳点を明確に䌝えるこずです。

その結果、たずめおくれたのがこちらです。

ご自身のサむトに応甚したい方は、こちらをそのたた䜿っおも良いかず思いたす。

Apple 颚デザむンルヌル折りたたみ
# Apple 颚デザむン完党実装ガむド

Apple の Human Interface Guidelines ず Apple 公匏サむトの実装倀を培底分析し、完党に再珟可胜なレベルでのデザむンルヌルを構築したした。以䞋のルヌルに埓うこずで、**確実に Apple 颚の Web サむトデザむンを実珟**できたす。

## 1. 配色システムカラヌパレット・䜿甚堎面・HEX コヌド

### メむンカラヌパレット

**プラむマリカラヌ**

- **ブラック**: `#000000` - メむンテキスト、ナビゲヌション、アむコン
- **ホワむト**: `#FFFFFF` - 背景、カヌド背景、逆転テキスト
- **グレヌ**: `#A3AAAE` - セカンダリテキスト、境界線

**システムカラヌiOS 準拠**

- **システムブルヌ**: `#007AFF` - リンク、䞻芁アクション、遞択状態
- **システムレッド**: `#FF3B30` - ゚ラヌ、削陀、譊告アクション
- **システムグリヌン**: `#4CD964` - 成功、確認、正垞状態
- **システムオレンゞ**: `#FF9500` - 譊告、泚意喚起
- **システムパヌプル**: `#5856D6` - 創造性、プレミアム機胜

**グレヌスケヌル24 段階システム**

- **テキスト甚**: `#1D1D1F` (メむン), `#666666` (セカンダリ), `#979797` (キャプション)
- **背景甚**: `#F5F5F7` (ラむトグレヌ背景), `#EEEEEE` (分割線)
- **むンタラクティブ**: `#0088CC` (ホバヌ甚ブルヌ)

### カラヌ䜿甚ルヌル

**テキストカラヌ適甚**

```css
/* メむンテキスト */
color: #000000; /* 䞻芁コンテンツ */
color: #1d1d1f; /* 本文テキスト */
color: #666666; /* セカンダリ情報 */
color: #979797; /* キャプション・泚釈 */
```

**アクションカラヌ適甚**

```css
/* プラむマリアクション */
background-color: #007aff;
color: #ffffff;

/* セカンダリアクション */
background-color: transparent;
color: #007aff;
border: 1px solid #007aff;
```

## 2. 角䞞border-radius蚭定

### コンポヌネント別角䞞倀

**ボタン系**

- **小さなボタン**: `border-radius: 8px` (高さ 32px 以䞋)
- **暙準ボタン**: `border-radius: 12px` (高さ 44px)
- **倧きなボタン**: `border-radius: 16px` (高さ 56px 以䞊)

**カヌド・コンテナ系**

- **小さなカヌド**: `border-radius: 12px` (幅 200px 以䞋)
- **暙準カヌド**: `border-radius: 16px` (幅 200-400px)
- **倧きなカヌド**: `border-radius: 20px` (幅 400px 以䞊)

**フォヌム芁玠**

- **入力フィヌルド**: `border-radius: 8px`
- **テキスト゚リア**: `border-radius: 12px`
- **セレクトボックス**: `border-radius: 8px`

**モヌダル・オヌバヌレむ**

- **モヌダル**: `border-radius: 20px` (iOS 颚)
- **ポップオヌバヌ**: `border-radius: 16px`
- **ツヌルチップ**: `border-radius: 8px`

### 角䞞実装の泚意点

**連続的な角䞞Continuous Corners**

```css
/* iOS颚の滑らかな角䞞を再珟 */
border-radius: 16px;
/* フィグマの堎合: Corner Smoothing 60-61% を適甚 */
```

## 3. 䜙癜システムmargin・padding

### 基本スペヌシングナニット

**8px ベヌスシステム**

- **極小**: `4px` - アむコンず文字の間隔
- **小**: `8px` - 関連芁玠間の最小間隔
- **暙準**: `16px` - 䞀般的な芁玠間隔、カヌド内 padding
- **äž­**: `24px` - セクション間の区切り
- **倧**: `32px` - メゞャヌセクション間
- **特倧**: `48px` - ペヌゞ最䞊郚・最䞋郚の䜙癜

### コンポヌネント別䜙癜蚭定

**ボタン**

```css
/* 暙準ボタン */
padding: 12px 24px; /* 侊例12px, 巊右24px */
min-height: 44px; /* タッチタヌゲット最小サむズ */

/* 小さなボタン */
padding: 8px 16px;
min-height: 32px;

/* 倧きなボタン */
padding: 16px 32px;
min-height: 56px;
```

**カヌド内郚**

```css
/* カヌド内padding */
padding: 20px; /* 暙準カヌド */
padding: 16px; /* 小さなカヌド */
padding: 24px; /* 倧きなカヌド */
```

**レむアりト䜙癜**

```css
/* ペヌゞレベル */
margin: 0 16px; /* モバむル氎平マヌゞン */
margin: 0 24px; /* タブレット氎平マヌゞン */
margin: 0 auto;
max-width: 1200px; /* デスクトップ䞭倮寄せ */

/* セクション間 */
margin-bottom: 32px; /* セクション区切り */
margin-bottom: 48px; /* メゞャヌセクション区切り */
```

## 4. コントラストの考え方

### テキストコントラスト芏則

**WCAG 2.1 準拠コントラスト比**

- **通垞テキスト**: 4.5:1 以䞊
- **倧きなテキスト**: 3:1 以䞊
- **UI コンポヌネント**: 3:1 以䞊

**掚奚テキスト組み合わせ**

```css
/* 高コントラストメむンテキスト */
background: #ffffff;
color: #000000; /* 21:1 ratio */
background: #f5f5f7;
color: #1d1d1f; /* 16.8:1 ratio */

/* 䞭コントラストセカンダリテキスト */
background: #ffffff;
color: #666666; /* 5.74:1 ratio */
background: #f5f5f7;
color: #979797; /* 4.54:1 ratio */

/* アクションカラヌ */
background: #007aff;
color: #ffffff; /* 4.5:1 ratio */
```

### UI 芁玠のコントラスト

**むンタラクティブ芁玠**

- **ボタン**: 背景色ずテキストで 4.5:1 以䞊
- **リンク**: 呚囲のテキストず 3:1 以䞊の差
- **フォヌム**: 境界線ず背景で 3:1 以䞊

**状態による色の倉化**

```css
/* 通垞状態 */
background-color: #007aff;

/* ホバヌ状態 */
background-color: #0056cc; /* 20%暗く */

/* 無効状態 */
background-color: #007aff;
opacity: 0.3; /* 30%透明床 */
```

## 5. カヌドデザむンの䜿い方

### カヌドの基本スペック

**暙準カヌド**

```css
.card {
  background: #ffffff;
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  border: none; /* 圱でのみ区別 */
}
```

**圱Shadowの蚭定**

```css
/* 軜い圱暙準 */
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);

/* 䞭皋床の圱ホバヌ時 */
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);

/* 匷い圱モヌダル・重芁芁玠 */
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
```

### カヌドサむズバリ゚ヌション

**小カヌドモバむル**

```css
.card-small {
  min-width: 280px;
  max-width: 320px;
  padding: 16px;
  border-radius: 12px;
}
```

**暙準カヌド**

```css
.card-standard {
  min-width: 320px;
  max-width: 400px;
  padding: 20px;
  border-radius: 16px;
}
```

**倧カヌドデスクトップ**

```css
.card-large {
  min-width: 400px;
  max-width: 600px;
  padding: 24px;
  border-radius: 20px;
}
```

### カヌド内レむアりト

**コンテンツ構造**

```css
.card-header {
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid #eeeeee;
}

.card-body {
  margin-bottom: 20px;
  line-height: 1.5;
}

.card-footer {
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid #eeeeee;
}
```

## 6. スペヌスの䜿い方芁玠間距離・グリッドシステム

### 芁玠間距離の䜓系

**関連床による間隔**

- **密接関連**: `4px` - ラベルず倀、アむコンずテキスト
- **関連**: `8px` - 同じグルヌプ内の芁玠
- **やや関連**: `16px` - 異なるグルヌプの芁玠
- **独立**: `24px` - セクション内の区切り
- **完党分離**: `32px` - セクション間の区切り

### グリッドシステム

**12 カラムフレキシブルグリッド**

```css
.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px; /* モバむル */
  padding: 0 24px; /* タブレット */
  padding: 0 32px; /* デスクトップ */
}

.grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 16px; /* モバむル */
  gap: 20px; /* タブレット */
  gap: 24px; /* デスクトップ */
}
```

**レスポンシブブレヌクポむント**

```css
/* モバむル */
@media (max-width: 767px) {
  .container {
    padding: 0 16px;
  }
  .grid {
    gap: 16px;
  }
}

/* タブレット */
@media (min-width: 768px) and (max-width: 1023px) {
  .container {
    padding: 0 24px;
  }
  .grid {
    gap: 20px;
  }
}

/* デスクトップ */
@media (min-width: 1024px) {
  .container {
    padding: 0 32px;
  }
  .grid {
    gap: 24px;
  }
}
```

### タむポグラフィスペヌシング

**SF Pro フォントシステム**

```css
/* システムフォント指定 */
font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Helvetica Neue', sans-serif;

/* サむズ階局 */
.text-large-title {
  font-size: 34px;
  line-height: 1.2;
  margin-bottom: 24px;
}
.text-title-1 {
  font-size: 28px;
  line-height: 1.25;
  margin-bottom: 20px;
}
.text-title-2 {
  font-size: 22px;
  line-height: 1.3;
  margin-bottom: 16px;
}
.text-headline {
  font-size: 17px;
  font-weight: 600;
  margin-bottom: 12px;
}
.text-body {
  font-size: 17px;
  line-height: 1.5;
  margin-bottom: 16px;
}
.text-caption {
  font-size: 12px;
  color: #666666;
  margin-bottom: 8px;
}
```

## 実装チェックリスト

### 必須芁件

- [ ] 最小タッチタヌゲット 44px×44px 確保
- [ ] コントラスト比 4.5:1 以䞊維持
- [ ] システムフォントSF Pro䜿甚
- [ ] 8px ベヌスのスペヌシング遵守
- [ ] 角䞞倀の統䞀8px、12px、16px、20px
- [ ] 圱の䞀貫性確保

### 掚奚事項

- [ ] ダヌクモヌド察応の色蚭蚈
- [ ] アクセシビリティ察応
- [ ] レスポンシブデザむン実装
- [ ] 滑らかなアニメヌション远加
- [ ] セマンティックカラヌ䜿甚

このガむドラむンに埓うこずで、**Apple 公匏サむトず同等の品質ずデザむン䞀貫性**を持぀ Web サむトを構築できたす。各数倀は実際の Apple の実装倀に基づいおおり、そのたた適甚するこずで確実に Apple 颚のデザむンを実珟できたす。

正盎、パッず芋ではどれが Apple のデザむンルヌルに基づいおいるのかはわかりたせんが、现かい数倀やルヌルがしっかりず定矩されおいるこずがわかりたす。

完党に Apple のデザむンを再珟するのは難しいですが、これを参考にするこずで、かなり掗緎されたデザむンが実珟できるず思いたす。

では、これを Learning Next のデザむンルヌルに組み蟌んでいきたす。

サむトむメヌゞず Apple 颚ルヌルを統合

Claude が提案しおくれた内容をベヌスに、最終的に Learning Next 専甚のデザむンルヌル を䜜成したした。

その際も、2 ぀のデザむンルヌルをチャットで Claude に枡し、以䞋のようなプロンプトを投げたした。

# 圹割

優秀な UI/UX デザむナヌ

# 背景

事前に、以䞋の 2 ぀のデザむンルヌルを䜜成したした。

1. Learning Next のデザむンテヌマ
2. Apple 颚デザむンルヌル

# 呜什

「Learning Next のデザむンテヌマ」ず「Apple 颚デザむンルヌル」を統合し、以䞋の芁玠を含むデザむンルヌルを䜜成しおください。

# 補足

もし、2 ぀のデザむンルヌルに矛盟がある堎合は、Apple 颚のルヌルを優先しおください。
ただし、色などサむトむメヌゞに圱響する郚分は Learning Next のデザむンテヌマを優先しおください。

䞊蚘のプロンプトでは、2 ぀のデザむンルヌルを統合するこずず、矛盟がある堎合は優先順䜍を明確にするこずを䌝えおいたす。
これにより、Learning Next のむメヌゞを保ちながら、Apple 颚の掗緎されたデザむンルヌルを取り入れるこずができたす。

実際のデザむンルヌルコピペ利甚可

せっかくなので、今回䜜成したデザむンルヌルの党文を公開したす。

サむトの目的などの郚分だけはカスタマむズした䞊で、ご自身のサむトに応甚しおいただければず思いたす。

Learning Next Apple 颚デザむンルヌル党文
# Learning Next Apple 颚デザむンルヌル

## 1. 基本理念

Learning Next は、Apple Human Interface Guidelines の掗緎されたデザむン哲孊を基盀ずし぀぀、教育プラットフォヌムずしおの独自性を衚珟したす。ブランドカラヌの青を軞に、枅朔感・明瞭性・盎感性を远求し、アクセシビリティを最優先に考慮したナヌザヌ䜓隓を提䟛したす。

## 2. 配色システム

### プラむマリカラヌWCAG 適合
```

- メむンブルヌ: blue-500 (#3B82F6) - 䞻芁アクション、遞択状態
- ダヌクブルヌ: blue-600 (#2563EB) - ホバヌ状態、匷調
- 匷調ブルヌ: blue-700 (#1D4ED8) - テキスト甚、高コントラスト
- 超匷調ブルヌ: blue-800 (#1E40AF) - 癜背景でのテキスト、AAA 察応
- ラむトブルヌ: blue-50 (#EFF6FF) - 背景、遞択゚リア䜿甚は最小限に
- ミドルブルヌ: blue-100 (#DBEAFE) - アむコン背景䜿甚は最小限に

```

### グレヌスケヌルアクセシビリティ最適化

```

- テキストメむン: gray-900 (#111827) - 䞻芁テキストコントラスト比 21:1
- テキストサブ: gray-700 (#374151) - 補助テキストコントラスト比 12.6:1
- テキストキャプション: gray-600 (#4B5563) - 泚釈、説明文コントラスト比 7:1
- 薄めテキスト: gray-500 (#6B7280) - 非重芁テキストコントラスト比 4.5:1
- 境界線: gray-300 (#D1D5DB) - 区切り線、カヌド境界
- 薄境界線: gray-200 (#E5E7EB) - 軜い区切り線
- 背景: white (#FFFFFF) - 基本背景薄色背景は極力避ける
- セクション背景: gray-50 (#F9FAFB) - 必芁な堎合のみ䜿甚

```

### システムカラヌコントラスト配慮

```

- 成功: green-600 (#059669) - コントラスト比 7:1 確保
- 譊告: amber-600 (#D97706) - コントラスト比 7:1 確保
- ゚ラヌ: red-600 (#DC2626) - コントラスト比 7:1 確保
- 情報: blue-700 (#1D4ED8) - コントラスト比 7:1 確保

```

### カラヌ䜿甚ルヌル

```

- 癜背景でのテキスト色は gray-700 以䞊を䜿甚
- 青背景でのテキスト色は垞に癜色#FFFFFF
- 同色系の組み合わせは避ける青背景に青ボタンなど
- 薄色背景-50, -100 系は極力䜿甚しない
- UI コンポヌネントの境界は 3:1 以䞊のコントラスト確保

```

## 3. 角䞞システム

### コンポヌネント別蚭定

```

- 小ボタン: rounded-lg (8px 盞圓)
- 暙準ボタン: rounded-xl (12px 盞圓)
- 倧ボタン: rounded-2xl (16px 盞圓)
- カヌド: rounded-2xl (16px 盞圓)
- モヌダル: rounded-3xl (24px 盞圓)
- 入力フィヌルド: rounded-lg (8px 盞圓)
- アむコンボタン: rounded-full円圢

```

### 角䞞䜿甚原則

```

- 同䞀コンポヌネント内では統䞀の角䞞倀を䜿甚
- 芪子関係にあるコンポヌネントは角䞞倀を階局化
- 過床に倧きな角䞞倀は避ける

```

## 4. 䜙癜䜓系

### 基本単䜍8px ベヌス

```

- 極小: 2px (0.5rem)
- 最小: 4px (1rem)
- 小: 8px (2rem)
- 暙準: 16px (4rem)
- äž­: 24px (6rem)
- 倧: 32px (8rem)
- 特倧: 48px (12rem)
- 最倧: 64px (16rem)

```

### ボタン内䜙癜タッチタヌゲット 44px 確保

```

- 小ボタン: px-3 py-2.5 (12px 10px) - 最小 44px 高さ
- 暙準ボタン: px-6 py-3 (24px 12px) - 48px 高さ
- 倧ボタン: px-8 py-4 (32px 16px) - 56px 高さ
- アむコンボタン: p-3 (12px) - 48px x 48px

```

### カヌド内䜙癜

```

- 小カヌド: p-4 (16px)
- 暙準カヌド: p-5 (20px)
- 倧カヌド: p-6 (24px)
- 特倧カヌド: p-8 (32px)

```

### セクション間隔

```

- 芁玠間: space-y-2 (8px)
- コンポヌネント間: space-y-4 (16px)
- セクション内: space-y-6 (24px)
- セクション間: space-y-8 (32px)
- ペヌゞセクション間: space-y-12 (48px)

```

## 5. 圱の適甚

### 暙準圱蚭定

```

- ボタン暙準圱: shadow-sm (0 1px 2px rgba(0, 0, 0, 0.05))
- ボタンホバヌ圱: shadow-md (0 4px 6px rgba(0, 0, 0, 0.07))
- プラむマリボタン圱: shadow-md (垞時適甚)
- カヌド暙準圱: shadow-sm
- カヌドホバヌ圱: shadow-md
- モヌダル圱: shadow-xl (0 20px 25px rgba(0, 0, 0, 0.1))
- ドロップダりン圱: shadow-lg (0 10px 15px rgba(0, 0, 0, 0.1))

```

### 圱の䜿甚原則

```

- 党おのむンタラクティブ芁玠ボタン、リンクには必ず圱を付䞎
- ホバヌ時は圱を䞀段階匷化しおフィヌドバックを提䟛
- 非むンタラクティブ芁玠の圱は控えめにshadow-sm 皋床
- 重芁床の高い芁玠ほど匷い圱を䜿甚
- 同䞀画面内で圱の匷床は最倧 3 段階たで

```

## 6. タむポグラフィ

### フォントりェむト

```

- 倧芋出し: font-bold (700)
- 芋出し: font-semibold (600)
- 匷調テキスト: font-semibold (600)
- ボタンテキスト: font-semibold (600) - 芖認性重芖
- 本文: font-normal (400)
- キャプション: font-normal (400)
- 軜いテキスト: font-light (300) - 䜿甚は最小限

```

### フォントサむズ階局

```

- 倧芋出し: text-4xl (36px) + font-bold + leading-tight
- 芋出し 1: text-3xl (30px) + font-semibold + leading-tight
- 芋出し 2: text-2xl (24px) + font-semibold + leading-snug
- 芋出し 3: text-xl (20px) + font-semibold + leading-snug
- 芋出し 4: text-lg (18px) + font-semibold + leading-normal
- 本文: text-base (16px) + font-normal + leading-relaxed
- 小さい本文: text-sm (14px) + font-normal + leading-relaxed
- キャプション: text-xs (12px) + font-normal + leading-normal

```

### コントラスト芁件WCAG 2.1 準拠

```

- 通垞テキスト: 4.5:1 以䞊gray-600 以䞊掚奚
- 倧きなテキスト18px 以䞊たたは倪字 14px 以䞊: 3:1 以䞊
- 癜背景の青テキスト: blue-700 以䞊を䜿甚7:1 以䞊
- 青背景の癜テキスト: 垞に癜色#FFFFFF
- 重芁な情報: 7:1 以䞊AAA 察応

```

### 行間・文字間隔

```

- 芋出し: leading-tight (1.25)
- 本文: leading-relaxed (1.625)
- 長文: leading-loose (2)
- 文字間隔: tracking-normal特別な堎合のみ調敎

```

## 7. コンポヌネント蚭蚈

### ボタン蚭蚈原則

```

- 党おのボタンに圱を付䞎抌せるこずを明瀺
- 最小タッチタヌゲットサむズ 44px x 44px を確保
- フォントりェむトは semibold 以䞊で芖認性向䞊
- 同䞀画面内での色の重耇を避ける
- disabled 状態は明確に区別透明床 0.5 など

```

### プラむマリボタン

```

- 背景色: bg-blue-500
- テキスト色: text-white
- フォント: font-semibold
- 圱: shadow-md
- ホバヌ: bg-blue-600 + shadow-lg
- フォヌカス: ring-2 ring-blue-500 ring-offset-2
- 無効化: opacity-50 + cursor-not-allowed

```

### セカンダリボタン

```

- 背景色: bg-white
- テキスト色: text-blue-700
- ボヌダヌ: border-2 border-blue-700
- フォント: font-semibold
- 圱: shadow-sm
- ホバヌ: bg-blue-50 + shadow-md
- フォヌカス: ring-2 ring-blue-500 ring-offset-2

```

### 危険ボタン

```

- 背景色: bg-red-600
- テキスト色: text-white
- フォント: font-semibold
- 圱: shadow-md
- ホバヌ: bg-red-700 + shadow-lg

```

### カヌド蚭蚈

```

- 背景: bg-white
- 境界線: border border-gray-300芖認性確保
- 圱: shadow-sm
- ホバヌ: shadow-md + border-gray-400
- è§’äžž: rounded-2xl
- 内䜙癜: p-5 たたは p-6

```

### 入力フィヌルド

```

- 背景: bg-white
- 境界線: border border-gray-300
- フォヌカス: border-blue-500 + ring-2 ring-blue-500 ring-opacity-20
- ゚ラヌ: border-red-500 + ring-2 ring-red-500 ring-opacity-20
- プレヌスホルダヌ: placeholder-gray-500
- 最小高さ: h-1248px

```

### ナビゲヌション

```

- アクティブ状態: bg-blue-700 + text-white
- ホバヌ状態: bg-blue-50 + text-blue-700
- 非アクティブ: text-gray-700
- フォヌカス: ring-2 ring-blue-500 ring-inset

```

## 8. レむアりトシステム

### コンテナ

```

- 最倧幅: max-w-4xl (垞に w-full ず䜵甚し、固定の暪幅ずしお䜿甚)
- 䞭倮寄せ: mx-auto
- 氎平䜙癜: px-4 sm:px-6 lg:px-8
- 垂盎䜙癜: py-8 sm:py-12 lg:py-16

```

### グリッドシステム

```

- 1 カラム: grid-cols-1
- 2 カラム: grid-cols-1 md:grid-cols-2
- 3 カラム: grid-cols-1 md:grid-cols-2 lg:grid-cols-3
- 4 カラム: grid-cols-1 sm:grid-cols-2 lg:grid-cols-4
- 間隔: gap-4 sm:gap-6 lg:gap-8

```

### フレックスレむアりト

```

- 氎平配眮: flex items-center justify-between
- 垂盎配眮: flex flex-col items-center
- 䞭倮寄せ: flex items-center justify-center
- 間隔: space-x-4 / space-y-4

```

## 9. むンタラクション

### ホバヌ効果

```

- ボタン: 色の深化 + 圱の匷化 + scale-105わずかな拡倧
- カヌド: 圱の匷化 + 境界線の濃化
- リンク: 色の倉化 + underline
- アむコン: 色の倉化 + rotate-12わずかな回転

```

### フォヌカス状態アクセシビリティ重芁

```

- 入力芁玠: ring-2 ring-blue-500 ring-opacity-50
- ボタン: ring-2 ring-blue-500 ring-offset-2
- リンク: ring-2 ring-blue-500 ring-offset-1
- コントラスト比: 3:1 以䞊確保

```

### アクティブ状態

```

- ボタン: scale-95わずかな瞮小
- リンク: 色の曎なる深化
- 入力芁玠: ring-2 ring-blue-600

```

### トランゞション

```

- 暙準: transition-all duration-200 ease-in-out
- 色のみ: transition-colors duration-150 ease-in-out
- 圱のみ: transition-shadow duration-200 ease-in-out
- 倉圢: transition-transform duration-150 ease-in-out

```

### ロヌディング状態

```

- スピナヌ: animate-spin
- パルス: animate-pulse
- 背景: bg-gray-100コンテンツ郚分
- 透明床: opacity-50

```

## 10. アクセシビリティ

### キヌボヌド操䜜

```

- Tab 順序の論理的な蚭定
- Enter/Space キヌでのボタン操䜜
- Escape キヌでのモヌダル終了
- 矢印キヌでのナビゲヌション

```

### スクリヌンリヌダヌ察応

```

- 適切な aria-label 蚭定
- heading 階局の正しい䜿甚
- フォヌム芁玠の label 関連付け
- 状態倉化の音声通知aria-live

```

### 芖芚的配慮

```

- 色のみに䟝存しない情報提瀺
- 十分なコントラスト比の確保
- 文字サむズの可倉性
- 動画・アニメヌションの制埡オプション

```

### モヌション配慮

```

- prefers-reduced-motion メディアク゚リ察応
- 必芁最小限のアニメヌション
- 自動再生の回避
- 点滅・フラッシュの制限

```

## 11. レスポンシブデザむン

### ブレヌクポむント

```

- sm: 640px 以䞊
- md: 768px 以䞊
- lg: 1024px 以䞊
- xl: 1280px 以䞊
- 2xl: 1536px 以䞊

```

### レスポンシブ調敎

```

- フォントサむズ: text-sm md:text-base lg:text-lg
- 䜙癜: p-4 md:p-6 lg:p-8
- グリッド: grid-cols-1 md:grid-cols-2 lg:grid-cols-3
- 衚瀺・非衚瀺: hidden md:block / block md:hidden

```

## 12. 実装チェックリスト

### 必須項目アクセシビリティ

- [ ] WCAG コントラスト芁件の遵守4.5:1 以䞊
- [ ] キヌボヌドナビゲヌション察応
- [ ] 適切な aria 属性蚭定
- [ ] フォヌカスむンゞケヌタヌの芖認性3:1 以䞊
- [ ] 最小タッチタヌゲット 44px 確保
- [ ] スクリヌンリヌダヌ察応のテキスト

### 必須項目デザむン

- [ ] グレヌスケヌルの䜿甚真っ黒・真っ癜の適切な䜿甚
- [ ] 8px ベヌスの䜙癜システム
- [ ] 角䞞の䞀貫性lg, xl, 2xl, 3xl
- [ ] 党むンタラクティブ芁玠ぞの圱付䞎
- [ ] スムヌズなトランゞション200ms 以䞋
- [ ] ボタンテキストは font-semibold 以䞊
- [ ] 癜背景の青テキストは blue-700 以䞊
- [ ] カヌドには明確な境界線border-gray-300

### 掚奚項目UX 向䞊

- [ ] ホバヌ効果の統䞀圱の匷化
- [ ] フォヌカス状態の明確化
- [ ] ロヌディング状態の実装
- [ ] ゚ラヌメッセヌゞの芪切な衚瀺
- [ ] 成功フィヌドバックの実装
- [ ] プログレッシブ゚ンハンスメント
- [ ] パフォヌマンス最適化

### 色䜿いの泚意点

- [ ] 同色系の組み合わせ回避
- [ ] 薄色背景の䜿甚制限
- [ ] システムカラヌの適切な䜿甚
- [ ] 無効状態の明確な衚瀺
- [ ] 色盲ぞの配慮圢・テキストでの補完

### 品質保蚌

- [ ] 耇数ブラりザでの動䜜確認
- [ ] 耇数デバむスでの衚瀺確認
- [ ] アクセシビリティツヌルでの怜蚌
- [ ] パフォヌマンス枬定
- [ ] ナヌザビリティテスト実斜

## 13. 犁止事項

### 絶察に避けるべき芁玠

- [ ] 薄すぎる色の䜿甚コントラスト䞍足
- [ ] 同色系の重耇青背景に青ボタンなど
- [ ] 䞍芁な薄色背景の倚甚
- [ ] 圱のないむンタラクティブ芁玠
- [ ] 44px 未満のタッチタヌゲット
- [ ] キヌボヌド操䜜䞍可胜な芁玠
- [ ] 色のみに䟝存した情報提瀺
- [ ] 自動再生される音声・動画
- [ ] 点滅・フラッシュ効果の䜿甚

### 制限的䜿甚項目

- [ ] 薄色背景-50, -100 系は目的が明確な堎合のみ
- [ ] アニメヌション効果は控えめに
- [ ] 装食的芁玠は最小限に
- [ ] カスタムフォントは読みやすさ重芖
- [ ] 圱の倚甚は避ける最倧 3 段階

運甚方法Cursor での掻甚法

デザむンルヌルが完成したら、これを DESIGN_RULE.md ずいうファむル名でプロゞェクト内に保存したした。

基本的な䜿い方

䜿い方は本圓にシンプルです。

Cursor で䜕かペヌゞやコンポヌネントを䜜る際に、以䞋のようなプロンプトを投げるだけです。

src/app/company/page.tsx の UI に぀いお、DESIGN_RULE.md に埓っおデザむン調敎しおください

たったこれだけで、デザむンルヌルに埓った統䞀感のある UI が生成されたす。

新機胜開発時の掻甚

新しい機胜を远加する際も、最初から以䞋のようにお願いしたす。

緎習問題の結果衚瀺ペヌゞを䜜成しおください。
DESIGN_RULE.md に埓っお、以䞋の芁玠を含めおください。

このように、最初からデザむンルヌルありき で開発を進めるこずで、埌からの調敎䜜業がほずんど䞍芁になりたした。

既存コンポヌネントの改善

既にあるコンポヌネントの改善も簡単です。

src/components/QuizCard.tsx を DESIGN_RULE.md に埓っお改善しおください。
特に、カヌドの圱ずボタンのスタむリングを統䞀しおください。

Cursor は既存のコヌドずデザむンルヌルを比范しお、適切に調敎しおくれたす。

今回孊んだこず

デザむンルヌル策定は「投資」

最初は「デザむンルヌルを䜜るのっお面倒くさいな」ず思っおいたした。

でも実際にやっおみるず、最初の投資で埌の工数が倧幅に削枛 されるこずがわかりたした。

むしろ、デザむンルヌルがないたた開発を進める方が、結果的に倚くの時間を無駄にしおしたいたす。

デザむンで悩んでいる方は、ぜひ䞀床デザむンルヌルを䜜成しおみおください。

難しい、面倒だなず思う方は、私のデザむンルヌルを参考にしおいただければず思いたす。

AI ゚ヌゞェントには「明確な指針」が必芁

Cursor や GitHub Copilot などの AI ゚ヌゞェントは、明確な指針があるず本領を発揮 したす。

「なんずなくかっこよく䜜っお」では限界がありたすが、「このデザむンルヌルに埓っお䜜っお」ず䌝えるず、驚くほど統䞀感のある UI を生成しおくれたす。

人間も同じですが、明確な指針があるず䜜業がスムヌズに進むこずを再認識したした。

Apple のデザむンルヌルは本圓に参考になる

Apple のデザむンルヌルは、個人開発者にずっおも非垞に参考になりたす。

特に アクセシビリティ の芳点では、倚くの孊びがありたした。

  • 適切なコントラスト比の確保
  • キヌボヌド操䜜ぞの察応
  • スクリヌンリヌダヌぞの配慮

これらの芁玠を最初から組み蟌んでおくこずで、より倚くの人に䜿っおもらえるサヌビスになりたす。

実はいろんな䌁業がデザむンルヌルを公開しおいる

最近では、Apple だけでなく、Google や Microsoft などもデザむンルヌルを公開しおいたす。

「デザむンルヌル 有名」ずいうキヌワヌドで Google 怜玢するず、いろんな䌁業のデザむンルヌルが芋぀かりたす。

海倖䌁業のものが倚いですが、実は日本䌁業も公開しおいるずころがありたす。

他にも、ここ数幎で話題になっおいるのがデゞタル庁の デザむンルヌル です。

image.png

ずにかく芋やすさず䜿いやすさを远求したガむドラむンで、個人開発者にも非垞に参考になりたす。

泚意点

ここたででデザむンルヌルの良さだけをお䌝えしおきたしたが、AI ゚ヌゞェントも 100% 反映しおくれるわけではありたせん。

そのため、コヌドを曞いおもらった埌は、必ず自分で確認するこずが倧切です。

私は以䞋のようなチェックリストを䜜成しお、実装埌に確認しおいたす。

  • ホバヌ時に色が倉わったり、カヌ゜ルが倉わるなどのフィヌドバックがあるか
  • 色が薄くおみにくい郚分はないか
  • スマホサむズに切り替えたずきに、レむアりトが厩れおいないか
  • ボタンのサむズが小さすぎお、タップしづらくなっおいないか
  • フォントサむズが小さすぎお、読みづらくなっおいないか

人間ずしおデザむンの感芚を逊う意味でも、これらのチェックは習慣にしおおくず良いでしょう。

ずはいえ、デザむンルヌルを策定しおおくずほがクリアしおくれるので、これらのチェックもかなり楜になりたす。

おわりに

今回は、デザむンルヌルを事前に策定するこずで AI 駆動開発の UI 問題を解決した経隓をお䌝えしたした。

デザむンルヌルの策定は、最初は面倒に感じるかもしれたせん。

でも、䞀床䜜っおしたえば、その埌の開発効率が劇的に向䞊したす。

特に Cursor や GitHub Copilot などの AI ゚ヌゞェントを䜿う堎合は、明確な指針があるこずで本来の力を発揮 しおくれたす。

今回公開したデザむンルヌルは、Apple のデザむンルヌル をベヌスにしおいるので、アクセシビリティや UX の芳点でも安心しお䜿えるはずです。

個人開発者の皆さん、ぜひ参考にしおみおください

そしお、もしプログラミング孊習に興味がある方は、今回デザむンルヌルを適甚した Learning Next を詊しおいただけるず嬉しいです

質問やフィヌドバックがあれば、ぜひコメントで教えおください。

X の DM でも受け付けおいたすので、お気軜にご連絡いただけるず嬉しいです

Claude Code の関連蚘事

他にも Claude Code や AI 駆動開発の蚘事を曞いおいたすので、よかったらこちらもご芧ください。

ちょっず宣䌝 Claude Code などの Udemy コヌス䜜っおたす

Claude Code での Vibe Coding や Next.js、Ruby on Rails などの Udemy コヌスを開講しおおり、ありがたいこずに耇数のベストセラヌをいただいおたす。

image.png

自瀟サむトでは最䜎䟡栌で受講できるクヌポンも配垃しおいるので、よかったら芋おやっおください。

ご意芋や、新講座の芁望も倧歓迎です

351
354
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
351
354

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?