blob: 167160be4b4a3078c555bcbf2c796e769d7afae2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
|
---
title: HTML ガイドライン
slug: MDN/Guidelines/Code_guidelines/HTML
tags:
- Code
- Guide
- Guidelines
- HTML
- MDN Meta
translation_of: MDN/Guidelines/Code_guidelines/HTML
---
<div>{{MDNSidebar}}{{IncludeSubnav("/ja/docs/MDN")}}</div>
<p class="summary">以下のガイドラインでは、MDN のコードの例で HTML をどのように記述するのかを学習します。</p>
<h2 id="In_this_article" name="In_this_article">この記事について</h2>
<ul>
<li><a href="/ja/docs/MDN/Contribute/Guidelines/Code_guidelines/HTML#Doctype_and_metadata">文書型宣言とメタデータ</a>
<ul>
<li><a href="/ja/docs/MDN/Contribute/Guidelines/Code_guidelines/HTML#Doctype">Doctype</a></li>
<li><a href="/ja/docs/MDN/Contribute/Guidelines/Code_guidelines/HTML#Document_language">文書の言語</a></li>
<li><a href="/ja/docs/MDN/Contribute/Guidelines/Code_guidelines/HTML#Document_characterset">文書の文字セット</a></li>
<li><a href="/ja/docs/MDN/Contribute/Guidelines/Code_guidelines/HTML#Viewport_meta_tag">ビューポートメタタグ</a></li>
</ul>
</li>
<li><a href="/ja/docs/MDN/Contribute/Guidelines/Code_guidelines/HTML#General_markup_coding_style">一般的なマークアップコーディングスタイル</a>
<ul>
<li><a href="https://developer.mozilla.org/ja/docs/MDN/Contribute/Guidelines/Code_guidelines/HTML#Use_lowercase">小文字を使う</a></li>
<li><a href="/ja/docs/MDN/Contribute/Guidelines/Code_guidelines/HTML#Trailing_slashes">末尾のスラッシュ</a></li>
<li><a href="/ja/docs/MDN/Contribute/Guidelines/Code_guidelines/HTML#Quoting_attributes">属性の引用</a></li>
<li><a href="/ja/docs/MDN/Contribute/Guidelines/Code_guidelines/HTML#Use_double_quotes">ダブルクォートを使う</a></li>
<li><a href="/ja/docs/MDN/Contribute/Guidelines/Code_guidelines/HTML#Boolean_attributes">真偽属性</a></li>
<li><a href="/ja/docs/MDN/Contribute/Guidelines/Code_guidelines/HTML#Class_and_ID_names">クラス と ID の名前</a></li>
<li><a href="/ja/docs/MDN/Contribute/Guidelines/Code_guidelines/HTML#Entity_references">実体参照</a></li>
</ul>
</li>
</ul>
<h2 id="Doctype_and_metadata" name="Doctype_and_metadata">Doctype とメタデータ</h2>
<div class="note">
<p><strong>注記</strong>: このセクションにあるガイドラインは完全な HTML 文書として見せなければならない時だけ適用してください。多くの場合、このようにする必要がありません; スニペット(HTML の断片)で通常は機能を説明するのに十分間に合います。<a href="/ja/docs/MDN/Contribute/Structures/Code_examples#Traditional_live_samples">EmbedLiveSample macro</a> を使うと、スニペットを取り込みます; 表示される際に自動で完全な HTML 文書に挿入されます。</p>
</div>
<h3 id="Doctype" name="Doctype">Doctype</h3>
<p>HTML5 の Doctype を使わなくてはなりません。短く、覚えやすく、後方互換性があります:</p>
<pre class="brush: html example-good notranslate"><!DOCTYPE html></pre>
<h3 id="Document_language" name="Document_language">文書の言語</h3>
<p>{{htmlelement("html")}} 要素に {{htmlattrxref('lang')}} 属性を使って文書の言語を設定します:</p>
<pre class="brush: html example-good notranslate"><html lang="ja"></pre>
<p>これはアクセシビリティと検索エンジンにとって良いことで、コンテンツのローカライズに役立ち、最良の慣習を使うべきと気づかせます。</p>
<h3 id="Document_characterset" name="Document_characterset">文書の文字セット</h3>
<p>また文書の文字セットを以下のように定義しなければなりません:</p>
<pre class="brush: html example-good notranslate"><meta charset="utf-8"></pre>
<p>UTF-8 を使用しないというとても明白な理由がない限りは使用するべきです; 文書でどんな言語が使われていても必要とする文字を余裕を持って扱えます。加えて、常にできるだけ早く、HTML の {{HTMLElement("head")}} ブロック (先頭の 1 キロバイト内) に文字セットを特定するべきです、かなり <a href="http://support.microsoft.com/kb/928847">不快な Internet Explorer のセキュリティ脆弱性</a> から守ってくれるからです。</p>
<h3 id="Viewport_meta_tag" name="Viewport_meta_tag">ビューポートメタタグ</h3>
<p>最後に、HTML {{HTMLElement("head")}} にはビューポートメタタグを追加しなければなりません、例を示してモバイル端末でより良く動作するきっかけとなります。文書に少なくとも以下の内容を含めておき、必要になったら後ほど変更できます:</p>
<pre class="brush: html example-good notranslate"><meta name="viewport" content="width=device-width"></pre>
<p>より詳しくは <a href="/ja/docs/Mobile/Viewport_meta_tag">モバイルブラウザーでのレイアウトを制御するために meta タグの viewport を使う</a> をご覧ください。</p>
<h2 id="General_markup_coding_style" name="General_markup_coding_style">一般的なマークアップコーディングスタイル</h2>
<h3 id="Use_lowercase" name="Use_lowercase">小文字を使う</h3>
<p>すべての要素の名前と属性の名前/値に小文字を使ってください、綺麗に見えますし、マークアップをより早く書くことができます。</p>
<p>良い例:</p>
<pre class="brush: html example-good notranslate"><p class="nice">This looks nice and neat</p></pre>
<p>良くない例:</p>
<pre class="brush: html example-bad notranslate"><P CLASS="WHOA-THERE">Why is my markup shouting?</P></pre>
<h3 id="Trailing_slashes" name="Trailing_slashes">末尾のスラッシュ</h3>
<p>空要素に XHTML スタイルの末尾のスラッシュを含めないでください、不要ですし実行速度を遅くします。注意しないと古いブラウザーを中断させます (思い返してみると、Netscape 4 から問題とはなっていませんが)。</p>
<p>こちらは良い例:</p>
<pre class="brush: html example-good notranslate"><input type="text">
<hr></pre>
<p>スラッシュは必要ありません:</p>
<pre class="brush: html example-bad notranslate"><input type="text" />
<hr /></pre>
<h3 id="Quoting_attributes" name="Quoting_attributes">属性を引用符で囲む</h3>
<p>すべての属性の値はダブルクォートで囲わなければなりません。HTML5 でクオートの省略が許されるようになり、広まっていますが、取り入れるとマークアップが綺麗になり読みやすくなります。例えば、こちらは良い例です:</p>
<pre class="brush: html example-good notranslate"><img src="images/logo.jpg" alt="A circular globe icon" class="no-border"></pre>
<p>次の例と比べてください。</p>
<pre class="brush: html example-bad notranslate"><img src=images/logo.jpg alt=A circular globe icon class=no-border></pre>
<p>こちらは問題も引き起こします — 上記の例では <code>alt</code> 属性の部分が複数の属性と解釈されて実行が中断するでしょう、"A circular globe icon" が 1 つの属性の値であると特定するクォートがないためです。</p>
<h3 id="Use_double_quotes" name="Use_double_quotes">ダブルクォートを使う</h3>
<p>HTML にはシングルクォートでなく、ダブルクォートを使います:</p>
<pre class="brush: html example-good notranslate"><p class="important">Yes</p></pre>
<pre class="brush: html example-bad notranslate"><p class='important'>Nope</p></pre>
<h3 id="Boolean_attributes" name="Boolean_attributes">真偽属性</h3>
<p>真偽属性は完全な形で書かないでください; 設定するには属性の名前だけ書きます。例えば、このように書きます:</p>
<pre class="brush: html example-good notranslate">required</pre>
<p>これだけで完全に理解され、うまく動作します。値を含めて書く長い形式、</p>
<pre class="brush: html example-bad notranslate">required="required" </pre>
<p>もサポートされるものの必須ではありません。</p>
<h3 id="Class_and_ID_names" name="Class_and_ID_names">クラス名と ID 名</h3>
<p>意味のあるクラス/ID 名を使い、複数の単語はハイフンで分割します。キャメルケース (camelCase) は使いません。</p>
<p>良い:</p>
<pre class="brush: html example-good notranslate"><p class="editorial-summary">Blah blah blah</p></pre>
<p>悪い:</p>
<pre class="brush: html example-bad notranslate"><p class="bigRedBox">Blah blah blah</p></pre>
<h3 id="Entity_references" name="Entity_references">実体参照</h3>
<p>実体参照を必要以上に使わない — リテラル文字を可能であれば使いましょう (角括弧や引用符のような記号は、まだエスケープが必要です) 。</p>
<p>単純に書ける例</p>
<pre class="brush: html example-good notranslate"><p>© 2018 Me</p></pre>
<p>以下のようにも書けますが、</p>
<pre class="brush: html example-bad notranslate"><p>&copy; 2018 Me</p></pre>
<p>UTF-8 文字セットで記述する限りは問題ありません。</p>
<h2 id="Good_HTML_examples_on_MDN" name="Good_HTML_examples_on_MDN">MDN での良い HTML の例</h2>
<p>優良で、簡潔で、有意義な HTML のスニペットを <a href="/ja/docs/Web/HTML/Reference">HTML リファレンス</a> の先頭で見つけることができます — 対話形式の例は一般的にこれらのガイドラインに従って書かれていますが、ガイドラインが新規に書かれる前に大部分が書かれているので、いくつかの箇所は異なっているのに気をつけてください。</p>
|