diff options
| author | tanaka takashi <isazaka@gmail.com> | 2026-08-26 21:43:16 +0900 |
|---|---|---|
| committer | tanaka takashi <isazaka@gmail.com> | 2026-08-26 21:43:16 +0900 |
| commit | c74551e116e80103aaa3c97c2592b7fb6f16ec90 (patch) | |
| tree | 70485bf8c5000362fb04cd067bb31da909128004 /doc/Specifications.md | |
| parent | e3f41a8140cfed799a2c977b3d799cd06204b09a (diff) | |
仕様書と設計書を改訂
Diffstat (limited to 'doc/Specifications.md')
| -rw-r--r-- | doc/Specifications.md | 881 |
1 files changed, 185 insertions, 696 deletions
diff --git a/doc/Specifications.md b/doc/Specifications.md index 1cffd4a..86a6a2f 100644 --- a/doc/Specifications.md +++ b/doc/Specifications.md @@ -1,721 +1,210 @@ -# Specifications.md - # たかしの記録 — 要求仕様書 -## 1. 文書目的 - -本書は、個人Webサイト「たかしの記録」の利用者視点・コンテンツ視点での要求仕様を定義する。 +## 1. 文書の役割 -本書では「何を提供するサイトか」「誰がどのように読むか」「どの情報をどのように見せるか」を定義し、具体的なZola/Tera/SCSS実装方法は `Design.md` に委ねる。 +本書は、個人サイト「たかしの記録」が利用者へ提供する内容と体験を定義する。対象はサイトの目的、掲載情報、閲覧導線、品質方針であり、実装技術や内部構造は扱わない。 ---- +技術選定、ファイル構成、コンテンツ形式、画面生成、スタイル、ビルドおよび検証方法は[Design.md](Design.md)に記載する。 ## 2. サイト概要 -### 2.1 サイト名 - -**たかしの記録** - -### 2.2 サイトの目的 +| 項目 | 内容 | +|---|---| +| サイト名 | たかしの記録 | +| 公開URL | `https://www.takashi-2521.com` | +| 言語 | 日本語 | +| 運営者 | Takashi | +| 主な内容 | 日々考えたこと、調べたこと、作成したソフトウェア | +| 更新方針 | 更新頻度を固定せず、残す価値のある内容を公開する | -本サイトは、運営者が日頃考えたこと・感じたこと・調べたことを記録し、作成したソフトウェアとともに長期的に保存・公開する個人アーカイブである。 +## 3. コンセプト -主な用途は次のとおり。 +### 3.1 目的 -- 日々考えたことや感じたことの記録 -- 読書を通じて考えたことの記録 -- 技術調査・技術メモの公開 -- 長文記事・考察の公開 -- 作成したソフトウェアの紹介 -- ソフトウェア制作の背景・過程・設計意図の記録 -- ソフトウェアに関連する技術記事との相互参照 +このサイトは、文章とソフトウェアに関する記録を、あとから読み返せる形で長期的に公開する個人アーカイブである。 -### 2.3 主な対象分野 +### 3.2 基本方針 -Notesでは特定分野に限定せず、少なくとも以下を扱う。 +| ID | 方針 | +|---|---| +| C-01 | 更新の速さや量より、記録を継続して残せることを優先する。 | +| C-02 | 短いメモと長い考察を同じNotesとして扱い、分野を過度に限定しない。 | +| C-03 | Softwareでは成果物だけでなく、背景、判断、制作過程も説明する。 | +| C-04 | 余白、文字、罫線を中心とした静かな編集デザインを採用する。 | +| C-05 | 広告、反応数、推薦表示など、本文の読解を妨げる要素を置かない。 | +| C-06 | ソースコードは自分で管理するGitリポジトリを正本とし、cgitで公開する。外部サービスは必要に応じてミラーとして利用する。 | -- 情報工学・ソフトウェア -- 論理学 -- マルクス・資本論・政治経済 -- 地球環境 -- 読書を通じた考察 -- 上記にまたがる複合的なテーマ - -分類は固定カテゴリではなくタグを基本とし、分野横断の記事を許容する。 - -### 2.4 想定読者 +### 3.3 想定読者 - 運営者本人 -- ソフトウェアエンジニア -- 技術分野に関心のある一般読者 -- 学生 -- 個々の記事テーマに関心のある一般人 - -専門読者だけに限定せず、記事冒頭で主題を把握できることを重視する。 - -### 2.5 更新頻度 - -通常は **2〜3か月に1〜2回程度** を想定する。 - -更新頻度を競うニュースサイトやSNSではなく、長期間残るアーカイブとして設計する。 - ---- - -## 3. サイトの基本コンセプト - -### 3.1 中心コンテンツ - -サイトの主役は以下の2つとする。 - -1. **Notes** -2. **Software** - -HomeとAboutは、この2つへの入口・補助情報として扱う。 - -### 3.2 デザインコンセプト - -デザインは **Minimal Editorial Archive** を基本とする。 - -方向性は以下。 - -- 文章とリンクを主役にする -- 装飾を抑える -- 罫線・余白・タイポグラフィで情報階層を表現する -- カードUIを乱用しない -- 画像を主役にしない -- 技術者向けダッシュボード風・SaaSランディングページ風にしない -- 長文を落ち着いて読める -- 更新間隔が長くても「止まったサイト」に見えにくい -- Gwern.netの長文アーカイブ性とSimon Willison's Weblogの実用的な情報構造を参考にする - -### 3.3 基本画面構造 - -全画面の基本構造は以下。 - -- 小さなHeader -- Main content -- 小さなFooter - -Header/Footerは本文より目立たせず、高さも必要以上に取らない。 - -Sidebarは使用しない。 - ---- - -## 4. 情報アーキテクチャ - -### 4.1 グローバル構成 - -トップレベルは以下を基本とする。 - -- `/` — Home -- `/notes/` — Notes一覧 -- `/software/` — Software一覧 -- `/about/` — About -- `/tags/` — タグ一覧 -- `/tags/<tag>/` — タグ別Notes等の一覧 - -### 4.2 グローバルナビゲーション - -Headerに以下を表示する。 - -- Home -- Notes -- Software -- About - -Source/cgitへのリンクはグローバルナビゲーションには常設せず、Software内で案内する。 - ---- - -## 5. Home仕様 - -### 5.1 役割 - -Homeはサイト全体の入口・索引として機能する。 - -ポートフォリオ用の大きなHero、自己宣伝CTA、プロフィール写真などは必須としない。 - -### 5.2 表示内容 - -以下の順序を基本とする。 - -1. 短い説明文 -2. 最近のNotes -3. Software -4. サイトについての短い説明 -5. Aboutへの導線 - -サイト名はHeaderに表示されるため、Home本文では重複表示しない。 - -### 5.3 トップ説明文 - -初期文言: - -> 日々考えたこととか思ったことを記録します - -将来文言を修正できること。 - -### 5.4 最近のNotes - -初期表示件数は **5件** とする。 - -各項目には以下を表示する。 - -- 公開日 -- タイトル -- 必要に応じ短いdescription - -Homeでは情報量を抑え、本文を直接大量表示しない。 - -### 5.5 Software - -初期表示件数は **4件** とする。 - -Homeでは原則としてSoftware名を中心に表示する。 - ---- - -## 6. Notes仕様 - -### 6.1 Notesの定義 - -文章として残したい内容は原則としてNotesとして扱う。 - -技術メモ、読書記録、調査、考察、論考を別々のコンテンツ型へ過度に分割しない。 - -### 6.2 Notes一覧 - -Notes一覧は **年別アーカイブ** とする。 - -例: - -- 2026 - - 08-21 記事タイトル - - 05-03 記事タイトル -- 2025 - - ... - -年は新しい順、各年内も原則として公開日の新しい順に表示する。 - -### 6.3 Notes一覧に表示する情報 - -- 公開日 -- タイトル -- タグ -- 必要に応じdescription - -タグはNotes一覧およびタグ一覧で表示する。 - -### 6.4 Note詳細 - -Note詳細では以下を表示する。 - -- タイトル -- 公開日 -- 更新日(存在する場合) -- 目次 -- 本文 -- 脚注 -- 参考文献 -- 関連Software(設定されている場合) -- 前後の記事導線は必須としない - -タグはNote詳細の主要表示項目にしない。 - -### 6.5 目次 - -Note詳細では **目次を常時表示**する。 - -Sidebarは使わないため、本文冒頭付近にインラインで配置する。 - -見出しが存在しない場合は空の目次領域を表示しない。 - -### 6.6 脚注 - -Markdown/Zola標準機能による脚注を日常的に利用できること。 - -脚注の見た目を本文と一貫させる。 - -### 6.7 参考文献 - -長文記事の末尾にReferences/参考文献セクションを設けられること。 - -参考文献は通常のMarkdownで記述可能とし、共通の見た目を持つ。 - -### 6.8 公開日と更新日 - -- 公開日は必須 -- 更新日は任意 -- 更新日が存在する場合は公開日とともに表示する - -### 6.9 記事の成熟度 - -Draft / Note / Essay 等の成熟度・状態ラベルは導入しない。 - -Zola内部のdraft機能は公開制御に使用してよいが、利用者向けの成熟度表示は行わない。 - ---- - -## 7. Tags仕様 - -### 7.1 分類方針 - -初期実装ではカテゴリを設けず、**tagsのみ**を使用する。 - -### 7.2 タグの目的 - -- 分野横断の記事を柔軟に分類する -- 同じテーマの記事を探せるようにする -- 固定カテゴリ階層を避ける - -### 7.3 想定タグ例 - -- 情報工学 -- 論理学 -- 資本論 -- 政治経済 -- 地球環境 -- AI -- LLM -- 読書 -- Windows -- Git - -タグ語彙はコンテンツ追加に応じて増やす。 - ---- - -## 8. Software仕様 - -### 8.1 役割 - -Softwareは作成したソフトウェアを人間向けに説明する場所とする。 - -ソースコードそのものの閲覧・履歴表示はcgitへ委ねる。 - -### 8.2 Software一覧 - -一覧では情報量を抑え、**Software名を主表示**とする。 - -必要に応じ短いdescriptionを添えてよいが、画像や大量のmetadataは表示しない。 - -### 8.3 Software詳細 - -以下の情報を扱えること。 - -- Software名 -- 概要 -- 作成した背景・目的 -- 開発・制作の過程 -- 特徴 -- 使用言語 -- ライセンス -- Source(自前cgit) -- GitHub mirror(存在する場合) -- 関連Notes -- スクリーンショット(必要な場合のみ) - -Implementation detailsは本文中で必要な範囲だけ記述し、固定項目として過剰に構造化しない。 - -### 8.4 Sourceの優先順位 - -ソースコードの正本は **自前cgit** とする。 - -Software詳細では以下の順で扱う。 - -1. Source — cgit -2. GitHub mirror — 当面維持 - -### 8.5 スクリーンショット - -- Software一覧では表示しない -- Software詳細で必要な場合のみ表示する -- 画像が多くなり本文の可読性を損なわないようにする - ---- - -## 9. NotesとSoftwareの関連付け - -NotesとSoftwareは相互に関連付けられること。 - -例: - -- Softwareから関連Notesへ -- Noteから関連Softwareへ - -関連付けは明示的に管理し、単なるタグ一致だけで自動的に関連付けない。 - ---- - -## 10. About仕様 - -Aboutには以下を掲載する。 - -- 名前 -- 一言プロフィール -- このサイトの目的 -- 主な関心分野 -- 連絡先 - -職務経歴書・詳細な履歴書としては設計しない。 - ---- - -## 11. Header仕様 - -### 11.1 表示内容 - -- サイト名「たかしの記録」 -- Home -- Notes -- Software -- About -- Dark/Light theme切替(提供する場合) - -### 11.2 レイアウト - -- 高さを抑える -- サイト本文より主張しない -- DesktopとMobileの双方で簡潔に表示 -- 必要でなければHamburger menuは使用しない - ---- - -## 12. Footer仕様 - -Footerには最低限以下を表示する。 - -- Copyright -- RSS -- Mail - -cgitリンクはSoftware側で扱う。 - ---- - -## 13. Typography仕様 - -### 13.1 本文 - -Sans-serifを使用する。 - -Web fontは外部取得せず、system font stackを使用する。 - -### 13.2 UI - -Sans-serif + Monospaceを役割分担して使用する。 - -Monospaceは以下のような補助情報に使用できる。 - -- 日付 -- metadata -- ラベル -- コード -- 技術的な短い補助情報 - -### 13.3 コード - -system monospaceを使用する。 - ---- - -## 14. 色・テーマ仕様 - -### 14.1 Light theme - -- 紙に近い暖かみのある明るい背景 -- ほぼ黒の本文 -- muted gray -- 薄い罫線 -- 青をaccent/link色として使用 - -### 14.2 Dark theme - -Dark modeに対応する。 - -- 真っ黒ではなく濃いgrayを基本 -- 明るい本文 -- muted gray -- dark border -- light themeと対応する青系accent - -### 14.3 Accent - -Accentは青系1色を基本とする。 - -具体的な色値はDesignで定義する。 - ---- - -## 15. リンク仕様 - -- 通常リンクは青 -- 原則として下線を付け、リンクであることを明確にする -- Hoverでは色等を軽く変える -- 大きなアニメーションを付けない -- 外部リンクには `↗` 等の簡潔な外部リンク記号を表示する -- 外部アイコンライブラリは使用しない - ---- - -## 16. Layout仕様 - -- Sidebarなし -- Main contentを中央付近に配置 -- 長文は左右に十分な余白を確保 -- 最大本文幅はDesign段階で具体値を定義 -- Desktopでは広すぎない -- Mobileでは横スクロールを発生させない -- コードブロック等、必要な要素のみ内部横スクロールを許容 - ---- - -## 17. Motion仕様 - -Animationは原則使用しない。 - -以下も初期実装では不要。 - -- View Transition -- Parallax -- Scroll animation -- Fade-in animation -- Decorative motion - ---- - -## 18. 画像仕様 - -- 画像は最小限 -- Homeに装飾目的の大量画像を置かない -- Notesでは説明に必要な画像のみ -- Softwareでは詳細ページのみ -- 外部画像hotlinkを原則避ける -- 代替テキストを付与する - ---- - -## 19. Feed仕様 - -以下を提供する。 - -- Atom -- RSS - -HeaderまたはFooterから購読導線を用意する。 - -Feed autodiscoveryに対応する。 - ---- - -## 20. Search仕様 - -初期リリースではSearchを提供しない。 - -将来の記事数増加に応じて、Zolaの検索インデックス機能を第一候補として追加検討する。 - ---- - -## 21. Comments仕様 - -初期リリースではコメント機能を提供しない。 - -理由: - -- 完全静的構成では保存先が存在しない -- 自前backendを追加すると現行セキュリティ境界が変化する -- 外部コメントサービスは外部依存・プライバシーの再検討が必要 - -将来機能として、以下を別途評価する。 - -- 自前軽量コメントbackend -- Gitベース方式 -- 外部コメントサービス -- Mailによる感想受付 - ---- - -## 22. SNS共有仕様 - -初期リリースでは大きなSNS共有ボタン群を必須としない。 - -外部dependencyを追加せず、簡潔なテキストリンクまたはWeb Share API等だけで実現できる場合に追加を検討する。 - -サイトのEditorialデザインを損なわないことを優先する。 - ---- - -## 23. Analytics仕様 - -アクセス解析は導入しない。 - -- 外部Analytics scriptなし -- Tracking cookieなし -- Marketing trackerなし - -Webサーバの運用ログはサーバ運用上のログであり、サイト機能としてのアクセス解析とは扱わない。 - ---- - -## 24. URL仕様 - -### 24.1 URL構造 - -- `/notes/<slug>/` -- `/software/<slug>/` -- `/tags/<slug>/` -- `/about/` - -### 24.2 Slug - -Content filename / slugは **英語ASCIIを基本**とする。 - -記事本文や表示タイトルは日本語でよい。 - -URLの安定性を優先し、公開後のslug変更は原則避ける。 - ---- - -## 25. 日本語・多言語仕様 - -- 表示言語は日本語のみ -- UI文言も日本語 -- 初期設計では多言語対応を実装しない -- 多言語化のための不要なUIやselectorは設けない - ---- - -## 26. Accessibility要求 - -最低限以下を満たす。 - -- Semantic HTML -- 適切なheading hierarchy -- Keyboard navigation -- Visible focus -- 十分な色contrast -- 画像alt -- Linkが色だけで判別不能にならない -- HTML/主要navigationはJavaScriptなしでも利用可能 -- Theme切替機能がなくてもOS themeで十分読めること -- prefers-reduced-motionを尊重(原則motion自体を使用しない) - ---- +- 掲載された主題やソフトウェアに関心を持つ人 +- 検索、フィード、外部リンクなどから個別記事へ到達する人 -## 27. Performance要求 +読者に事前知識や継続的な購読を要求しない。個別ページだけを開いても、その内容と位置付けを理解できることを目指す。 -サイトは静的HTML/CSS/最小JSのみで成立すること。 +## 4. 情報構成 -- Backend runtime不要 -- DB不要 -- npm/Node.js不要 -- 外部CDN不要 -- Web font不要 -- 大きなfrontend framework不要 -- 初期表示に不要な画像を読み込まない -- JavaScriptが無効でも主要本文が読める +| 領域 | 利用者に提供する役割 | +|---|---| +| Home | 最近のNotesとSoftwareへ案内する。 | +| Notes | 考えたこと、感じたこと、調べたことを時系列で公開する。 | +| Tags | タグ付きのNotesがある場合、主題ごとに横断して探せる索引を提供する。 | +| Software | 作成したソフトウェアと、その背景や過程を公開する。 | +| About | 運営者、このサイトの目的、連絡先を示す。 | ---- +主要な移動先はHeaderから常に利用できるようにする。Feedとメールへの導線はFooterから提供する。 -## 28. Security / Privacy要求 +## 5. ページ別要求 -- npm package dependencyを使用しない -- Node.js runtimeを使用しない -- 外部themeを原則使用しない -- 外部JavaScript CDNを使用しない -- Inline JavaScriptを避ける -- `eval()` を使用しない -- 外部trackingを使用しない -- CSP `default-src 'self'` を中心とした厳格な設定と互換性を持つ -- Static Siteとして本番にserver-side codeを置かない -- Caddyは生成済み成果物のみを配信する +### 5.1 Home ---- +| ID | 要求 | +|---|---| +| H-01 | 最近のNotesを新しいものから表示する。 | +| H-02 | Softwareを新しいものから表示する。 | +| H-03 | NotesとSoftwareの各一覧へ移動できる。 | +| H-04 | コンテンツがない領域には、準備中であることが分かる説明を表示する。 | +| H-05 | サイト名や説明を本文で重複表示せず、一覧への導線を中心にする。 | -## 29. 技術基盤に関する制約 +### 5.2 Notes -以下はDesignに委ねるが、要求上の前提とする。 +#### 一覧 + +| ID | 要求 | +|---|---| +| N-01 | Notesを年単位で整理し、日付とともに表示する。 | +| N-02 | 各項目にタイトルを表示し、説明とタグがある場合は併記する。 | +| N-03 | 各項目からNote詳細へ移動できる。 | +| N-04 | タグから同じタグを持つNotesの一覧へ移動できる。 | + +#### 詳細 + +| ID | 要求 | +|---|---| +| N-05 | タイトルと公開日を表示する。 | +| N-06 | 更新日と説明がある場合だけ表示する。 | +| N-07 | 見出しを持つ記事では目次を利用できる。 | +| N-08 | 見出し、一覧、表、引用、コード、画像、脚注を読みやすく表示する。 | +| N-09 | 関連Softwareが指定されている場合は記事末尾から移動できる。 | -- SSG: Zola -- Template: Tera -- Content: Markdown -- Style: SCSS -- Client JS: minimal vanilla JavaScript -- Production: Caddy static file server -- Build: Client PC -- Deployment: `public/` build artifactをVPSへ転送 -- Git source管理とDeployは独立 -- cgitをソースコード正本とする - ---- - -## 30. 初期リリースの非目標 - -以下は初期リリースで実装しない。 - -- コメント -- Search -- CMS -- User login -- Database -- SSR -- SPA -- API backend -- WebSocket -- Analytics -- Frontend framework -- htmx -- Tailwind CSS -- npm/Node.js -- External theme -- Heavy animation -- Large image gallery -- Multilingual UI - ---- - -## 31. 受入条件 - -初期リリースは以下を満たすこと。 - -- [ ] 「たかしの記録」というサイト名が表示される -- [ ] Home / Notes / Software / Aboutへ到達可能 -- [ ] Homeに最近のNotes最大5件を表示 -- [ ] HomeにSoftware最大4件を表示 -- [ ] Notesが年別に表示される -- [ ] Notes一覧にタグが表示される -- [ ] Note詳細に公開日・更新日・目次・本文を表示できる -- [ ] 脚注を利用できる -- [ ] 参考文献を自然に表示できる -- [ ] Software一覧を画像なしの簡潔な一覧として表示 -- [ ] Software詳細に背景・過程・言語・ライセンス・Source等を記載できる -- [ ] cgitをSource正本として案内できる -- [ ] GitHub mirrorを任意表示できる -- [ ] NoteとSoftwareを明示的に相互関連付けできる -- [ ] Aboutに名前・一言プロフィール・目的・関心分野・連絡先を表示できる -- [ ] Light/Dark双方で読める -- [ ] 外部リンクを視覚的に判別できる -- [ ] RSSとAtomを提供 -- [ ] 404ページを提供 -- [ ] Mobile/Desktop双方で利用可能 -- [ ] JavaScriptなしでも主要コンテンツを閲覧可能 -- [ ] 外部CDN・npm・Node.js・frontend frameworkを必要としない -- [ ] サイト全体が静的ファイルとして生成可能 - ---- - -## 32. 将来拡張 - -要件変更時に別途設計する。 - -- Search -- Comments -- SNS共有 -- より高度な関連コンテンツ表示 -- タグ数増加へのUI改善 -- Page pagination -- 多言語 -- 画像処理の高度化 - -初期実装で将来拡張のための複雑な抽象化を先行導入しない。 +### 5.3 Tags + +| ID | 要求 | +|---|---| +| T-01 | タグ付きのNotesがある場合、使用中のタグと各記事数を一覧表示する。 | +| T-02 | タグ付きのNotesがある場合、タグごとに該当するNotesを一覧表示する。 | +| T-03 | タグは補助的な索引とし、細分化しすぎない。 | + +### 5.4 Software + +#### 一覧 + +| ID | 要求 | +|---|---| +| S-01 | Software名を主情報として表示する。 | +| S-02 | 説明がある場合はSoftware名とともに表示する。 | +| S-03 | 各項目からSoftware詳細へ移動できる。 | +| S-04 | ソースコード公開先としてcgitへの導線を示す。 | + +#### 詳細 + +| ID | 要求 | +|---|---| +| S-05 | Software名、概要、背景、制作過程などを掲載できる。 | +| S-06 | 使用言語とライセンスがある場合は表示する。 | +| S-07 | ソースコードの正本へのリンクを表示する。 | +| S-08 | 外部サービスのミラーがある場合は、正本と区別して表示する。 | +| S-09 | 必要に応じてスクリーンショットなどの記事固有画像を掲載できる。 | +| S-10 | 関連Notesが指定されている場合は記事末尾から移動できる。 | + +### 5.5 About + +| ID | 要求 | +|---|---| +| A-01 | 運営者のプロフィールを簡潔に示す。 | +| A-02 | サイトの目的を示す。 | +| A-03 | メールによる連絡先を示す。 | + +### 5.6 404 + +存在しないURLへ到達した利用者に、ページが見つからないことを明示し、Home、Notes、Softwareへ戻る導線を提供する。 + +## 6. 閲覧体験 + +### 6.1 デザイン + +| ID | 要求 | +|---|---| +| U-01 | 本文を中心とし、装飾より読みやすさを優先する。 | +| U-02 | ページ間で見出し、余白、一覧、Footerの見た目を一貫させる。 | +| U-03 | デスクトップとモバイルの双方で横方向のはみ出しを避ける。 | +| U-04 | コード、表、画像など幅を必要とする要素を本文の可読性を損なわず表示する。 | + +### 6.2 テーマ + +| ID | 要求 | +|---|---| +| U-05 | OSの表示設定に応じたLight/Dark themeを初期表示に使用する。 | +| U-06 | 利用者がLight/Dark themeを手動で切り替えられる。 | +| U-07 | 手動で選んだthemeを次回閲覧時にも維持する。 | + +### 6.3 アクセシビリティ + +| ID | 要求 | +|---|---| +| U-08 | キーボードだけで主要な導線を利用できる。 | +| U-09 | フォーカス位置と現在表示中のページを視覚的かつ機械的に判別できる。 | +| U-10 | 本文へ直接移動できる手段を提供する。 | +| U-11 | 見出し、ナビゲーション、日時、一覧などを意味に合った構造で提供する。 | +| U-12 | Light/Dark themeの双方で十分な文字とリンクのコントラストを確保する。 | +| U-13 | 動きを減らすOS設定を尊重する。 | + +## 7. 配信・プライバシー方針 + +| ID | 方針 | +|---|---| +| P-01 | NotesをAtomおよびRSSで購読できる。 | +| P-02 | 検索エンジンが公開ページを発見できるようにする。 | +| P-03 | サイト内検索は提供しない。 | +| P-04 | コメント機能は提供しない。 | +| P-05 | SNS共有ボタンや反応数を表示しない。 | +| P-06 | アクセス解析を導入しない。 | +| P-07 | 広告、外部フォント、外部配信の表示部品を使用しない。 | +| P-08 | theme選択以外の利用者情報をブラウザへ保存しない。 | + +## 8. 品質要求 + +| ID | 要求 | +|---|---| +| Q-01 | 公開ページ内にリンク切れを残さない。 | +| Q-02 | theme切替が利用できない環境でも、本文と主要な移動先を閲覧できる。 | +| Q-03 | ページの種類や本文量によって共通UIの配置が不自然に変化しない。 | +| Q-04 | 記事を追加・削除しても、一覧と個別ページの対応が維持される。 | +| Q-05 | 各ページを固有のURLで開き、共有できる。 | +| Q-06 | 各ページの内容を識別できるタイトルと説明を提供する。 | + +## 9. 対象外 + +現時点では、次の機能を対象外とする。 + +- 利用者アカウントとログイン +- 投稿画面や管理画面 +- データベース +- コメント、リアクション、評価 +- サイト内検索 +- SNS共有機能 +- アクセス解析 +- 多言語表示 +- 動的APIやバックエンド処理 + +## 10. 受入条件 + +| 分類 | 完了条件 | +|---|---| +| 情報構成 | Home、Notes、Software、About、404を閲覧でき、タグ使用時はTagsも閲覧できる。 | +| コンテンツ | NotesとSoftwareを追加すると一覧と詳細へ反映され、削除後に無効な参照が残らない。 | +| ナビゲーション | Header、Footer、一覧、関連コンテンツから目的のページへ移動できる。 | +| 表示 | Light/Dark themeとモバイル表示で本文を支障なく読める。 | +| アクセシビリティ | キーボード操作、フォーカス表示、見出し構造、スキップリンクが機能する。 | +| 配信 | 公開ページ、記事画像、Atom、RSSを継続して閲覧できる。 | +| プライバシー | コメント、解析、広告、外部配信の表示部品を含まない。 | |
