D-ZERO のアクセシビリティ規約。マークアップやインタラクションの実装・変更・レビューで、WAI-ARIA、代替テキスト(alt)、ランドマーク、見出し、キーボード操作、フォーカスを扱うときに使う。
dzero-html
D-ZERO の HTML/Pug マークアップ規約。HTML や Pug を書く・編集する・レビューするときに使う。コンポーネント設計、クラス命名、文書構造、画像、リンク、メタ情報に適用する。
インストール方法を見る含まれるファイル(1)
- SKILL.md5.0 KB
SKILL.md(原文)
インストールする前に、エージェントに与えられる指示の中身を確認できます。
HTML コーディング規約
実装レイヤー選定(
dzero-tech-selection)を経ていない場合は先にそちらを読むこと。詳細は HTML ガイドライン を参照。
実装規範
大原則
- HTML Living Standard の規定には例外なく従う
- アクセシビリティの基準と判断(WAI-ARIA・代替テキスト・キーボード操作)は
dzero-a11yに従う - リントエラー(Markuplint / pug-lint / Prettier)は例外なく必ず修正する。ルールが現状にそぐわない場合はコードを曲げず Config ファイルの変更を提案する
コンポーネント
- ページを構成するパーツは「コンポーネント」単位で管理する。クラス命名の形式(
c-プレフィックス、__によるエレメント区切り、コンポーネント境界、c-content-main内の制約)は Markuplint が強制するため、警告に従って修正すればよい - コンポーネント分割で重視するのは再利用性ではなく、独立して完結し他へ影響を与えないこと
- コンポーネントを拡張したいときは、クラスを足すのではなく完全に別のコンポーネントを作る(1 要素に複数のコンポーネントクラスを与えない)
- ボタン単体・フォームコントロール単体はコンポーネント化せず、エレメントとして扱う。スタイルが不要ならクラスのないエレメントがあってもよい
状態の管理
- 要素の状態は原則クラスを使わず、次の優先順位で管理する: 1. ネイティブ属性(
disabled等)→ 2. ARIA 属性(aria-expanded等)→ 3.data-*属性 hidden属性とaria-hiddenは意味が異なる。同じものとして扱わない- スタイルのみの目的で
data-*属性を使わない(エレメントクラスを使う)
文書構造
- 見出しタグは見た目ではなく文書アウトラインで判断する。見た目が見出しに見えるテキスト(カード内の改行された文言等)を安易に
h3/h4にしない(レベルのスキップ等の機械検出は Markuplint が担保する) p要素を濫用しない。段落でないテキストの縦並びにはdivを使う。画像単体をpで囲わない(テキストの代替画像を除く)- 装飾のためだけの
div/spanを増やさない。装飾は CSS の擬似要素(::before/::after)で実現できないか先に検討する
画像
- レスポンシブの出し分けは
picture要素を使う。sp-only/pc-onlyクラスでのimg二重配置はしない(display: noneでも画像リクエストは発生する) - ファーストビューより下の
imgにはなるべくloading="lazy"を指定する。decoding属性は指定しない - 代替テキストの付け方は
dzero-a11yを参照
リンク・パス・外部リソース
- パスは原則
/で始まるルート相対で書く。外部リンクは//でなくhttps://で始める - ページ内リンク用の
id(URL フラグメント)は適切に命名し、安易に削除・変更しない(外部からリンクされている可能性がある) - 外部リソースの読み込みは原則禁止。セルフホストする(クライアント依頼・社内許可がある場合と、Google Maps 等セルフホスト不可能なものを除く)
メタ・記法
<meta name="format-detection" content="telephone=no" />は必須。ビューポートにuser-scalableは書かない- 論理属性の値は省略する(
disabled="disabled"ではなくdisabled)。省略可能な属性(type="text/css"等)は書かない - HTML コメントは製品コードに残るため不用意に書かない。Pug の変換時に削除されるコメント記法を活用する
命名
- 正しい英語を採用し、短さよりも明確さを優先する。省略は基本的に避け、使う場合は規定の省略語に統一する
- 文字構成: 半角英数とハイフン、区切りはハイフン、小文字。連番はゼロ埋め 2 桁以上
- クラス名は
[機能名]-[修飾語・詳細]-[連番]の組み合わせ([機能名]以外は任意) - 同じ意味の識別子は統一する:
home(top不可)、sub(corner不可)、breadcrumb、carousel(slider/gallery不可)、hero(mv/mainvisual不可)、heading(headline不可)、pagination(pager不可)、prev(back不可)
レビュー
まだレビューはありません。使ってみた感想をお寄せください。
同じリポジトリのスキル
概要と使いどころ
D-ZERO の CSS コーディング規約。CSS を書く・編集する・レビューするときに使う。コンポーネントのスタイル、レイアウト、レスポンシブ、カスタムプロパティ、セレクタ設計に適用する。
デザインデータ(Figma などのデザインカンプ)を参照してコーディングするときの解釈原則とアセットの扱い。Figma の URL・MCP・デザイン画像・カンプをもとに実装や修正をするときに必ず使う。
D-ZERO の JavaScript/TypeScript コーディング規約。JS/TS を書く・編集する・レビューするときに使う。イベント処理、DOM 操作、状態変更、ライブラリ追加、スクリプト読み込みに適用する。
フロントエンド実装のコードレビューを実施する。PR レビュー、コードレビュー、実装チェック、品質確認を依頼されたときに使う。実装レイヤー選定の妥当性から各技術軸の観点まで順に検査する。
UI・機能・コンポーネントの実装レイヤー(HTML/CSS/JavaScript)を決定する判断基準。実装・修正の着手前に必ず読む。アコーディオン、モーダル、ポップオーバー、開閉・切替などのインタラクション実装を依頼されたときに使う。