``` | ID | 決まり | |---|---| | **PUB-P21(必須)** | レールは **`_rail.js`** を使う。ページ側で `.rail-*` を定義しない(PUB-P04 と同じ理由) | | **PUB-P22(必須)** | **その画面の主一覧に使わない**(PUB-P36)。使うのは補助の並びだけ | | **PUB-P23(必須)** | **全部見えているときは矢印を出さない。**端まで来た側も出さない。動かない矢印は壊れて見える | | **PUB-P24(必須)** | 1枚の幅は `214px`。変えたいときは `--rail-w` で(勝手に `flex` を上書きしない) | | **PUB-P25(必須)** | 中身を描き替えたら `window.chaproRail.refresh()` を呼ぶ。呼ばないと矢印の出し分けが古いままになる | | **PUB-P26(必須)** | **矢印をスクロール中に消さない。**端に着いた側は薄くして押せなくする(消さない)。消すと、その場所のカードにホバーが移り、カードが持ち上がり、また矢印が出て…と入れ替わり続けて**点滅し、押しても下のカードに抜ける**。出す/出さないの判断は「全部見えているか」だけにして、幅が変わったときにしか動かさない |
実際にずれていた

ホームは矢印つき・なめらかスクロール・細いスクロールバー、作品詳細は素の overflow-x:auto だけで、同じ「横に並ぶカード」なのに別物だった。1枚の幅も 214px と 220px で違った。2画面で使うものは、はじめから1ファイルにする。

### 価格の書き方 | ID | 決まり | |---|---| | **PUB-P27(必須)** | 通貨は**「円」**。`¥` を使わない。**`¥0` は壊れて見える**が `0円` は自然に読める。同じ画面で `¥1,800` と `0円` が混ざるのを防ぐ | | **PUB-P28(必須)** | 月額は**「月額980円」**と頭に出す。`980円/月` の「/月」は小さくて見落とされ、**買い切りと並ぶと売り方を読み違える** | | **PUB-P29(必須)** | 0円は**「0円」**。「無料」と「0円」を同じ画面で混ぜない |
実際に混ざっていた

有料が ¥1,800、0円が 0円 で、同じ列に ¥ と 円 が並んでいた¥0 にそろえる手もあるが、あれは値が入っていないように見える。良い方(0円)に寄せて全部を「円」にした。

### アイコン | ID | 決まり | |---|---| | **PUB-P30(必須)** | **意味を足すときだけ付ける。**文字で分かることに飾りで付けない。**迷ったら付けない** | | **PUB-P31(必須)** | **絵文字を使わない。**アイコンにも、見出しにも、本文にも | | **PUB-P32(必須)** | 線の SVG で描く。`stroke:currentColor` / `stroke-width:1.8` / `fill:none`。**色は隣の文字から継ぐ** | | **PUB-P33(必須)** | 大きさは **`14px` / `18px` / `24px`** の3段階。14=一覧・バッジ・小さいボタン、18=ボタン・見出しの横、24=単独で置くもの | | **PUB-P34(必須)** | ひとつの並びの中で**出どころの違う絵を混ぜない**。同じ意味には同じ絵を使う | | **PUB-P35(必須)** | **アイコンだけで意味を伝えない。**アイコンだけのボタンには `aria-label` を付ける | #### なぜ絵文字を使わないか | 理由 | 何が起きるか | |---|---| | 絵柄が端末ごとに違う | 同じ `📖` が Windows・iPhone・Android で別の絵になる。**こちらが見た絵が相手に届かない** | | 色が固定 | 決めた色(PUB-C10〜C20)が効かない。Disabled にしても薄くならず、押せるように見え続ける | | 大きさとベースラインが揃わない | 隣の文字と行が揃わず、1行の中で沈んだり浮いたりする | | 読み上げが意図と違う | `📖` は「開いた本」と読まれる。**「図解本」とは読まれない** | | 拡大すると粗い | フォントの絵なので、大きくすると輪郭が崩れる |
実際に混ざっている

作者ページ(store/u/sora-note/index.html)の種類の見出しが 🎮(ミニアプリ)📖(マンガ)(図解本)(動画)になっている。4つ並びのうち2つが絵文字、2つが記号で、絵の太さも大きさも揃っていない。
同じページの「最新の作品」の見出しに付いた 意味を足していない飾りで、PUB-P30 にあたる。

いまのプロトタイプは PUB-P33 を満たしていない

アイコンの大きさが 13・14・15・16・17・18・19・26・34px の9種類ある。文字と同じで、近い値が足されて増えていた。3段階に寄せる作業が要る。

### 文言 画面に書いてよいのは、**見ている人がいま必要なこと**だけ。**作り手が説明したいこと**は書かない。 | ID | 決まり | |---|---| | **PUB-P36(必須)** | 画面の文言は、**その画面を初めて見た人**に意味が通るものだけにする | | **PUB-P37(必須)** | **変更の経緯を書かない。**「〜を廃止しました」「以前の〜は」のような、前を知っている人にしか通じない文を残さない | | **PUB-P38(必須)** | **そこに無いものの説明をしない。**その画面に一度も出てこないものの名前を持ち込まない | | **PUB-P39(必須)** | **仕組み・制度・分類を注記でまとめて説明しない。**個々のものに出ている情報(価格・種類)を、下でもう一度言い直さない | | **PUB-P40(必須)** | **プロトタイプの断り書きを画面に置かない。**「表示はサンプルです」等は確認用パネルの中に入れる |
迷ったときの見分け方

その文を消したら、見ている人が何か困るか。困らないなら消す。
「知っておいてほしい」「誤解されたくない」は作り手の都合で、困るかどうかとは別。

実際に書いてしまった ①

左カラムを未ログインで減らしたとき、空いた場所に「作る・フォロー・お気に入りは、ログインすると使えます。」と書いた。項目が消えたことを知っている人向けの説明で、初めて来た人には分からない。しかも未ログインの人には、その項目が最初から見えていない。ログインの導線はヘッダーにあるので、何も書かないのが正しかった。

実際に書いてしまった ②

ホームの一番下に、こう書いていた。

「表示はサンプルです。ミニアプリと映像は月額、図解本とマンガは買い切りで販売されます。
パンフレット・LP・スライド・音声はストアには並びません(公開ページで無料で見られます)。」

3行とも別々に違反していた。「表示はサンプルです」はプロトタイプの都合(PUB-P40)。「ミニアプリと映像は月額」は仕組みの説明で、価格は作品ごとに出ているのに下でまとめて言い直している(PUB-P39)。「パンフレット・LP・スライド・音声」はこの画面に一度も出てこない名前で、初めて来た人はそれが何かも知らない(PUB-P38)。
丸ごと消した。

#### 仕様の言葉と、画面の言葉 仕様書と画面で言葉が違うものは、ここに書いてから使う。**画面に出すのは右の列だけ。** | 仕様の言葉 | 画面での表記 | なぜ違うか | |---|---|---| | 気になる(あとで見る・フェーズ1) | **ブックマーク** | 「気になる」は気持ちの表現で、何が起きるかが分からない。ブックマークなら**あとで開ける印**だと伝わる | | 作者ページ | **プロフィール** | 「作者ページ」は仕様の言葉で、見る人は自分を「作者」だと思っていない。作る前から自分のページを持つので、**書く人・見る人のどちらから見ても通じる語**にする | | 取得・購入した作品(画面14・フェーズ2) | **ライブラリ** | 「取得」「購入」と2つ並ぶが、0円で取得したものも買ったものも同じ棚に入る。**中身の呼び方ではなく、棚の名前を付ける**。ブックマーク(あとで開く印)と並べたとき、持っているかどうかの違いが読んで分かる | | マイページ | **プロフィール**(同じもの) | 自分のときだけ別の名前にしない。**見る側と作る側で言葉を変えると、同じ場所だと分からなくなる** | - **PUB-P41(必須)** 同じものに**3つ目の言葉を作らない**。「お気に入り」のように、仕様にも画面にも無い言葉を勝手に足さない
実際に3つになっていた

仕様は「気になる」、画面のボタンは「気になる」、左カラムだけ「お気に入り」。しかも作品詳細では「気になる」と「いいね数」が同じハートの絵で並んでいて、押せるものと表示だけのものが見分けられなかった。

作品の中身は対象外

作者が書く更新履歴(「第12章を追加しました」)やレビュー本文は、作品が変わったことを伝えるもので、この決まりの対象ではない。禁じているのはUI 側の都合を UI の文言で説明すること

---

9. 少ないときの決まり

原則5を値にしたもの。**作品も人も少ない状態が既定**で、賑わっている状態はあとから来る。 | ID | 決まり | |---|---| | PUB-P42(必須) | 0件のときは**必ず文言を出す**。空白のままにしない | | PUB-P43(必須) | 文言は「まだ〇〇がありません」+**次にやることへの導線**を1つ | | PUB-P44(必須) | **その画面の主一覧に横レールを使わない。**中身が1〜2件だと、動かない矢印だけが残って壊れて見える。主一覧は**縦のリストかグリッド**にする。関連作品のような**補助の並び**には使ってよい([横スクロールの並び](#h-rail)) | | PUB-P45(必須) | **母数が要る表示は、母数が足りるまで出さない。**ランキング・「今週の〇〇」・「注目の〇〇」は、選ぶ意味が出る数に達してから出す | | PUB-P46(必須) | **件数・フォロワー数はダミーを置かない。**実データから数える。0件の項目は行ごと出さない | | PUB-P47(必須) | **「〇人が購入」「(41)」「12.3K フォロワー」のような数を出さない。**多ければ後押しになるが、**少ないと「誰も買っていない」と読まれて逆に効く**。開店直後はほぼ全部が少ない。出すなら**その数が説得力を持つ大きさに達してから**で、達するまでは項目ごと出さない | | PUB-P48(必須) | **押しても何も出ない選択肢を並べない。**絞り込みの候補は、中身がある種類だけにする。候補が1つしか無いときは絞り込みごと出さない | | PUB-P49(必須) | プロトタイプには**データ量を切り替える確認用のつまみ**を付ける。開店直後の見え方を必ず見る | | PUB-P50(必須) | **隠すときは `[hidden]{display:none !important}` を先に置く。**`hidden` を付けても、その要素に `display:flex` などが指定されていると**負けて消えない**。ページごとに1行だけ置き、個別に打ち消さない |
なぜ横レールが特に悪いのか

グリッドや縦のリストは、1件でも「少ない」だけで済む。横レールは「横に流れる」という約束をした枠なので、流れないと約束が破れて見える。矢印・スクロールバー・見切れた次のカード、どれも中身が無いと嘘になる。

実際に起きた

トップを作り直したとき、作品18件・作り手9人が揃っている前提で「今週の作り手」「作り手の横レール」「種類ごとに4本の棚」「ランキング」を並べた。開店直後は作品が数件・作り手が数人しかいない。4本の棚はどれも1〜2件、ランキングは5件の中の「1位」、カテゴリは「312作品」というダミーの数字。全部が空振りする。
この作り直しは いったん取り消した(コミット 2b4ca28 に残してある)。

数字は諸刃

プロフィールの作品カードに「320人が加入」、ホームのカードに「販売 88」、評価に「(41)」を出していた。賑わっていれば後押しになるが、開店直後は「2人が購入」「(1)」になる。初めて見た人はそれを「誰も買っていない」と読む。出さない方がまし。
★の数字(4.5)は1件でも意味を持つので残し、件数だけを外した。ランキングは順位そのものが情報なので、件数を種類の表示に替えた。
フォロワー数も同じ。プロフィールの主要な情報に見えるが、「2 フォロワー」は人を遠ざける。フォローボタンだけ置けばよい。

実際に消えなかった

プロフィールでフェーズ①のとき価格を隠したはずが、出たままだった.work-metadisplay:flex があり、ブラウザ既定の [hidden]{display:none} よりクラス指定の方が強いため。
見た目では原因に気づけないので、ページごとに1行置いて塞ぐ

--- ## 10. 迷ったときの決め方 1. **原則に戻る。**とくに「場は黒子。人と作品が主役」 2. **少ないときにどう見えるかを先に見る。**多いときは、少ないときが成立していれば自然に成立する 3. **既にある値を使う。**近い値を新しく足さない 4. **色で解決しようとしない。**言葉・大きさ・余白で解けないか先に考える 5. それでも決まらないなら、**この文書に段階を1つ足してから**使う。勝手に例外を作らない ---

11. まだ決めていないこと

| 項目 | 状況 | |---|---| | **母数の線引き** | ランキング・カテゴリを何件から出すか。仮に12件としたが、実際の出方を見て決める | | **公開側に「AIが動く」印が要るか** | 紫がブランド色になったので、AI の印には使えない。いまは作品詳細に「アプリ内課金あり」と文字で出しているだけ | | **一覧の最小の文字サイズ** | 密度(11〜13px)を取るか、デジタル庁基準(14px以上)に寄せるか | | **薄い文字の濃さ(PUB-C31)** | 件数・日付・単位の `#94a3b8` は 2.56 で 4.5 に届かない。`#64748b` に上げるか、密度を優先して基準から外すか。**上げると一覧の主役と補助の差が縮む**ので、上げるなら太さで差を作り直す | | **ロゴの使い方** | 最小サイズ・周囲の余白・単色版を作るか | | **チャプロAI と ライモ との関係** | 親子をどう見せ分けるか | | **ダークモードを持つか** | 未検討 | | **価格の見せ方** | フェーズ②で値段が付いたとき、どこまで強めるか(いまは原則3に従って控えめ) | ### これから足すこと - 入力欄・モーダル・トーストの値 - アイコンの絵をどこから持ってくるか(既製のセットを使うか、描き起こすか) - 読み込み中の見せ方 - 画像が無いときの代替