4.Front End Development_HTML - YukaKoshiba/MyknowledgeDocs GitHub Wiki

Front End Development_HTML @Japanese Version
Create Date2024/11/01
Last Update Date2025/04/22

目次

HTML
文法制玄  甚語  基本構文  HTML宣蚀  コメント

head meta  title  レむアりト指定

body header  footer  main

ヘッドラむン(h)  段萜(p)  箇条曞き  衚  ハむパヌリンク(a)  form/input/buttonほか  画像  SVG
動画  別のHTMLを埋め蟌む  ナヌザの入力フォヌムを䜜成する
コヌドの蚘述  section  blockquote(匕甚)  aside(䜙談)  説明リスト

JavaScriptをWebペヌゞに組み蟌む  CSS以倖のレむアりトの蚭定

ショヌトカットキヌを蚭定する  スクリヌンリヌダ察応  ゚スケヌプシヌケンス(特殊文字)

HTMLテンプレヌト

ペヌゞネヌション機胜>

HTML

HTMLはWabペヌゞの基本レむアりトに埓っおりェブペヌゞのコンテンツを蚘述し定矩するもの
Webペヌゞの基本の骚栌を䜜る蚀語
※倉数や関数を持たないため、HTMLは蚀語であるが、プログラミング蚀語ではない

W3C(World Wide Web Consortiumは、りェブ技術の暙準化を掚進する囜際的な非営利団䜓で、validator.w3.org りェブペヌゞのHTMLやXHTMLコヌドが、W3Cの暙準仕様に準拠しおいるかどうか確認できる
この他、CSSに関しおも、W3Cのサむトで確認出来る(jigsaw.w3.org/css-validator/)

お䜜法

・HTML芁玠は文曞䞭で、 < > 囲たれた芁玠名で構成される"タグ"によっお区別される
・タグ内の芁玠名は、倧文字ず小文字の区別はないが、小文字で蚘茉するこずが慣習化/掚奚されおいる
・タグは、怜玢゚ンゞンに各皮どのような蚘述かを認識させる重芁は圹割を持぀
・ブラりザはHTMLファむルを䞊から䞋ぞ、巊から右ぞず読み蟌み、スペヌスずむンデントは事実䞊無芖される
 →ブラりザにHTMLの構造を理解させるためには、必ず開始タグず終了タグを適切に蚘茉する必芁がある
 ※スペヌ瀟むンデントを枛らしおも問題なく機胜し、可読性は䜎䞋するが、ファむルサむズは小さくなる

甚語

  • element(芁玠)
    タグで囲んだ情報の単䜍
  •  
  • attribute(属性)
    芁玠に䜕らかの情報や蚭定を付加するため、開始タグに蚘述する文字列
  • void element(空芁玠)
    HTML における芁玠のうち、子ノヌド(子芁玠およびテキストノヌド)を持぀こずができないもの
    空芁玠には開始タグしかありたせん。空芁玠では終了タグを指定するこずができない
    機胜的には必芁ないが、明瀺的に終了を瀺すために自己終了タグを付けるこずが掚奚されおいる
    (䟋)<input />
  • nest(入れ子)
  • idずcalss
    スタむルシヌトやJavaScriptを指定する際に、芁玠以倖で指定したい時にidやclassを指定する
    ただし、idを䜿甚する際の泚意点ずしお、1぀のHTMLファむル内で䞀意である必芁がある <div id="䞀意のid名"></div>
    <div class="クラス名"></div>

基本の構成


<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>タむトルを蚘述</title> 
  </head>
  <body>
    <header>
      <img>ロゎなど
      <nav>ナビゲヌションメニュヌなど</nav>
    </header>
    <main>Webペヌゞのコンテンツを蚘茉する</main>
    <footer</footer>
  </body>
</html>

コメント

<!-- Comment -->

HTML宣蚀

すべおのWebペヌゞは、<!DOCTYPE html>を必ず最初に蚘茉する
この特別な文字列は宣蚀ずしお知られ、ブラりザが業界党䜓の仕様を満たそうずするこずを保蚌する
その文曞がHTMLの最新バヌゞョンであるHTML5文曞であるこずをブラりザに瀺す

<html>

この䞭にペヌゞ䞊のすべおのコンテンツ(<title>, <body>, <footer>)を包む

属性 内容 曞き方
lang ペヌゞの蚀語を指定する (䟋)英語を指定する
<html lang="en">
*en英語 ja日本語

<head>

文曞のタむトル、スタむルシヌトぞのリンク、スクリプトなど、文曞に関するメタデヌタを蚭定する

<meta>

ペヌゞに盎接衚瀺されないペヌゞに関するメタ情報を持぀
曞き方<meta 属性="倀" > *void芁玠

属性 内容 曞き方
charset WebブラりザにWebペヌゞの゚ンコヌドを認識させる (䟋)UTF-8を指定する
<meta charset="utf-8">
name 文曞レベルでメタデヌタを提䟛し、ペヌゞ党䜓に適甚される
contentを適切に蚭定するこずで、アクセシビリティずSEOが向䞊する
(䟋)レスポンシブルWebデザむンにする
この1行を蚘述するだけで、モバむルアプにも察応する
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="viewport" content="initial-scale=1, width=device-width">

※レスポンシブルWebデザむンWebペヌゞのスタむルをモバむル, デスクトップPC, ノヌトPCラップトップで同じ様に芋る事ができる

<title>

WebブラりザでWebペヌゞのタむトルバヌやタブに衚瀺する内容蚘述する
蚘茉堎所<head&gtの䞭
曞き方 <title>(タむトル文)</title> 備考  タむトル文は15~60文字

レむアりトを指定する

Webペヌゞのレむアりトの倉曎方法は、2皮類ある
いずれの方法も<head>芁玠の䞭に蚘述する

1.style芁玠を䜿甚する
蚘茉堎所<head>芁玠の䞭
曞き方 <style>CSSによる䜓裁倀</style>
HTMLファむルの䞭に蚘茉が出来るが、可読性の䜎䞋/レむアりト厩れぞ繋がり修正が倧倉になる為、基本は䜿甚しない


<style>
  h1,h2, p {
    text-align: center;
   }
</style>

2.倖郚スタむルシヌトファむルを参照する
蚘茉堎所<head>の䞭
曞き方 <link rel="stylesheet" href="styles.css"> *void芁玠

<head> <link href="style.css" rel="stylesheet"> <title>css</title> </head>

<body>

Wepペヌゞに実際に衚瀺する箇所で、HTML文曞の本䜓を衚す
倧きく分類するず、header、main、footerに分けられる
ただし、これらの芁玠は、HTML5で導入された新しい芁玠であり、叀いブラりザでは正しく衚瀺されない堎合があり、
ただbody䞭にすべおのWebペヌゞの内容が蚘茉されおいるこずも倚い
header、main、footerに分けるこずで、異なるレむアりトや挙動を適甚できる

<header>

ペヌゞタむトル、ナビゲヌションメニュヌ、ロゎなど、そのペヌゞに関する重芁な情報を集玄する際蚘述する
基本的にWebペヌゞのコンテンツに関わらず、垞時衚瀺する


<!-- 他の文曞ぞのナビゲヌションリンク(メニュヌ) -->
<nav>
  <ul>
    <li><a href="別ドキュメントぞのURL"&lg;メニュヌ項目1</a></li>
    <li><a href="ドキュメント内のid名"&lg;メニュヌ項目2</a></li>
  </ul>
</nav>

<main>

Webペヌゞに衚瀺する内容を蚘述する
main芁玠内の内容は、その文曞に固有であるべきで、文曞の他の郚分で繰り返されるべきではない
蚘茉堎所<body>の䞭

<芋出しを蚘述する>

h1~h6たで指定でき、h1が最も倧きい文字ずしお衚瀺される
<h>はSEOに圱響する
URLが取埗出来るため、パスに枡すこずが出来る
蚘茉堎所<main>の䞭
曞き方 <h1-6>芋出し文</h1-6> *void芁玠

テキストの段萜を䜜成する

<p>文章</p>

箇条曞きにする

ulunordered List
lilist item


<ul>
  <li>箇条曞きしたい項目 </li>
  <li>箇条曞きしたい項目 </li>
</ul>

番号順にする

olordered List
lilist item


<ol>
  <li>番号順にしたい項目 </li>
  <li>番号順にしたい項目 </li>
</ol>

衚を挿入する

基本的な蚘述方法は以䞋の通り
これ以倖にも、衚のグルヌプ化、セルの結合、衚のヘッダヌ/本䜓/フッタヌを䜜成するこずも可胜
詳现は、freeCodeCampの蚘事を参照のこず


<table>
  <caption>衚題</caption>
  <thead>
    <tr>
      <th>列1-ヘッダヌ</th>
      <th>列2-ヘッダヌ</th>
      <th>列3-ヘッダヌ</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>列1-デヌタ1</td>
      <td>列2-デヌタ1</td>
      <td>列3-デヌタ1</td>
    </tr>
    <tr>
      <td>列1-デヌタ2</td>
      <td>列2-デヌタ2</td>
      <td>列3-デヌタ2</td>
    </tr>
  </tbody>
<table>

<thead>や<tbody>は省略可胜だが、以䞋メリットがある

  • 構造の明確化
    →CSSで異なるレむアりトの指定が出来る
  • アクセシビリティの向䞊
    →スクリヌンリヌダヌなどに認識させられる
  • JavaScriptでテヌブル操䜜が出来る

リンクを貌る

<a>(anchor)タグを利甚する

<a href ="リンクしたいURL">(リンクに衚瀺したい文字)</a>

任意の属性

属性 蚭定内容
target _blank新しいタブでリンクを開く
デフォルトは_self珟圚のタブでリンクを開く
rel noreferrerリンク展開時、参照元に関する情報を枡さない様にする
プラむバシヌ保護、セキュリティ察策、トラッキング防止に圹に立぀

画像を挿入する


<img
  src="画像のあるパス"
  alt="画像の説明文"
  width="数字"
  height="数字" />
*void芁玠

alt属性では、webサむトに画像をアップロヌドする際、HTML゜ヌスコヌド䞊に蚘述する、img芁玠のプロパティ(属性)こずで、画像の代わりずなるテキスト
アクセシビリティを向䞊させるためにスクリヌンリヌダヌに䜿甚され、画像の読み蟌みに倱敗した堎合に衚瀺される
原則、<img>にalt属性を含める事

width/heightは、CSSでも利甚指定できるが、HTMLで指定しおおくず予め領域が確保され、レむアりト厩れが起きにくなる
ただし、CSS指定時ず比べ、画像の拡倧瞮小で画質が劣化しやすく、レスポンシブルデザむンに察応しづらいデメリットがある

属性 蚭定内容 倀
loading 画像の読蟌みタむミングを指定
Webペヌゞの衚瀺速床を向䞊に圹立぀
lazy: 画像がビュヌポヌト内の衚瀺盎前たで読蟌みを遅延させる
eager: 画像をすぐに読み蟌む
auto: ブラりザが最適なタむミングで読蟌む
※ブラりザにより、挙動が異なる堎合がある

画像にリンクを貌る


<a href ="リンクしたいURL">
  <img alt="画像の説明文">
</a>

画像ずキャプションを関連付ける

自己完結型のコンテンツを衚し、画像ずキャプションを関連付けたい時、<figure>および<figcaption>を利甚する
画像ずキャプションは䞀単䜍ずしお考えられる
alt属性の様に倱敗した際のみ衚瀺されるのではなく、垞に<figcaption>の内容が画像ずセットでWebペヌゞ䞊に衚瀺される


<figure>たたは<div>
  <img src="画像ファむルのパス" alt="画像の説明" />
  <figcaption>画像の説明文</figcaption>
</figure>たたは</div>

SVG芁玠

SVG(Scalable Vector Graphics)は、XML蚀語の䞀皮
ベクタヌグラフィック(画像をピクセルではなく、数孊的な匏(ベクトル)で衚珟)の描画に甚いる蚀語のこず

ベクタヌグラフィックであるこずから、ピクセルベヌスの画像(JPEG, PNGなど)ず異なり、拡倧瞮小しおも画質が劣化しない
たた、SVGはXML圢匏で蚘述されるため、テキスト゚ディタで線集可胜なテキストベヌスの画像

その為、SVGはJavaScriptず組み合わせお、むンタラクティブな芁玠(ボタン, アニメヌションなど)を䜜成するこずが出来る
→ 必芁なすべおの線や図圢を指定する or 既にあるラスタヌ画像を倉曎する or その䞡方を結合しお画像を䜜成しお䜿甚するこずも出来る
→ 画像ずその郚品を座暙倉換したり、互いに合成したり、フィルタリングしたりしお、その芋た目を完党に倉えるこずも可胜

SVG基本画像

SVGでは以䞋の様な基本的な図圢が提䟛されおいる

  • circle芁玠 : 円圢 - D3.jsの散垃図のプロット等で䜿甚する
  • rect芁玠 : 長方圢 - D3.jsの棒グラフ䜜成時などに䜿甚する
各芁玠の属性に関しおは、mdn参照の事

<img
  src="画像のあるパス"
  alt="画像の説明文"
  width="数字"
  height="数字" />
*void芁玠

動画を埋め蟌む

<video>
自分のWebサヌバにある動画を埋め蟌む際に利甚する


<!-- controlsで再生,音量,シヌク,ポヌズ,サむズなどを指定できる -->
<video controls width="倀"&gt muted;
  <source src="動画のパス/動画名.mp4" type="video/mp4" />
  <source src="動画のパス/動画名.webm" type="video/webm" />
</video>

muted読み蟌み時に動画が自動再生されおも、音が出るこずを防ぐ

<iframe>
Youtubeの動画やGoogleマップなど倖郚コンテンツを埋め蟌む際に利甚する


<iframe
<!-- 自動再生や -->
  id="id名"
  title="タむトル" <!-- 䞻にスクリヌンリヌダヌなどで䜿甚 -->
  width="倀"
  height="倀"

<!-- 枠線を無くす --> frameborder="0" <!-- iframe内のコンテンツが実行できる動䜜を蚱可--> allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share": !-- 党画面再生を蚱可 --> allowfullscreen <

<!-- 通垞の倖郚サむトで閲芧するURLでは埋め蟌みできない為、URLに泚意 --> src="動画の埋め蟌み甚URL" /> </iframe>

別のHTMLを埋め蟌む

<iframe>芁玠を䜿うず、HTMLドキュメントの䞭に、別のHTMLドキュメントを埋め蟌むための芁玠
りェブペヌゞの䞭に、倖郚のりェブペヌゞやコンテンツ(動画, 地図, 広告など)をシヌムレスに衚瀺したい堎合に非垞に䟿利

基本の曞き方


<iframe src="埋め蟌みたいHTMLのURL" width="500" height="300"></iframe>

その他、様々な匕数で现かく指定出来るため、詳现はmdn Web doc参照のこず

コヌド衚瀺にする

コヌドを衚瀺したい時は、<code>を利甚する
コヌド内の改行や空癜をそのたた衚瀺したい堎合は、<per>で<code>を囲む
※prepreformatted text(敎圢枈みテキスト)
→ HTMLの改行タグ(<br>など)を挿入しなくおも、そのたたプログラムの改行がWebペヌゞ䞊で反映される
→ プログラムのコヌドをコピヌをするボタンが衚瀺され、コピヌが楜になる

<pre><code>コヌド</code></pre>

CSS以倖でレむアりトを倉曎する

やりたいこず 曞き方 備考
セクションの挿入 <hr /> *void芁玠
文字を倪字にする <strong>倪字にしたい文字</strong>
<b>倪字にしたい文字</b>
<strong>SEO効果がある
<b>ただ倪字衚瀺されるだけ
斜䜓文字にする <em>斜䜓にしたい文字</em>
<i>斜䜓にしたい文字</i>
<em>SEO効果がある
<i>ただ斜䜓倪字で衚瀺されるだけ
文字に䞋線をひく <u>䞋線を匕きたい文字</u>
改行する <br /> *void芁玠 段萜間のスペヌスの調敎に耇数連続しお䜿甚しないこず
基本的にはCSSで調敎する
HTML5以降、<br>ではなく、<br />が掚奚されおいる
ブロックレベルでコンテンツを区切る <div>同じディビゞョンにたずめる芁玠</div> コンテンツを区切るための芁玠で本質的には䜕も衚さない
スタむルシヌトやJavaScriptで䞀括しお指定する際のグルヌプ分けに䜿甚するこずが出来る
むンラむンレベルでコンテンツを区切る <span>同じディビゞョンにたずめる芁玠</div> コンテンツを区切るための芁玠で本質的には䜕も衚さない
スタむルシヌトやJavaScriptで䞀括しお指定する際のグルヌプ分けに䜿甚するこずが出来る

ナヌザから情報を取埗する

ナヌザに入力しおもらっお、情報を取埗したい堎合は、<form>を利甚する
基本的な構文


<form  action="フォヌムデヌタの送信先URL" method="get/post">
  <fieldset>
    <legend">fieldsetの説明文</legend">
      <label"><input id="id名" type="項目タむプの遞択"/ ></label">
  </fieldset>
</form>
form

ナヌザヌが入力するコントロヌル(input, textarea, select, buttonなどをグルヌプ化し、それらのデヌタをサヌバヌに送信するためのコンテナ


<form action="送信先のURL" method="送信方法">
    -- input等の入力芁玠を配眮
</form>
属性 説明
action(必須) フォヌムに入力されたデヌタが送信される先のURLを指定するための属性
method <form>のactionで指定したデヌタの送信先ぞ取埗デヌタの送信方法を指定する
postPOSTリク゚ストで送信
リク゚ストボディのデヌタずしおデヌタを取埗
 機密性の高いデヌタや、倧きなデヌタを送信する堎合
getGETリク゚ストで送信
URLパラメヌタずしおデヌタを取埗する
 機密性の䜎いデヌタや、怜玢などの結果をブックマヌクしたい堎合
target フォヌムの送信結果をどこに衚瀺するかを指定する
_blankを指定するず新しいりィンドりやタブで開く
_self(デフォルト)は珟圚のりィンドりで開く
_parentや_topなどの倀もある
enctype フォヌムデヌタの゚ンコヌド方匏を指定する
・application/x-www-form-urlencoded(デフォルト)
 ほずんどのフォヌムデヌタに適しおいる
・multipart/form-data
ファむルをアップロヌドする堎合に䜿甚する
input

ナヌザヌがテキスト、数倀、ファむルなどを入力したり、遞択肢を遞んだりするための最も基本的なフォヌムコントロヌル
りェブフォヌムからデヌタを収集するための様々な方法を提䟛する
void芁玠(</input>を蚘述しない)

<input type="入力タむプ" id="識別子" name="サヌバヌに送信する際のキヌ" value="初期倀" その他の属>
属性 説明
type(必須) 入力フィヌルドの皮類を指定する
text䞀行のテキスト入力フィヌルド(デフォルト)
passwordパスワヌド入力フィヌルド
emailメヌルアドレスの入力フィヌルド
number数倀の入力フィヌルド
date日付の遞択フィヌルド
checkboxチェックボックス
radioラゞオボタン
(同じname属性を持぀ラゞオボタンはグルヌプ化される)
fileファむル遞択フィヌルド(ファむルのアップロヌドに䜿甚)
submitフォヌムを送信するボタン
resetフォヌムの入力内容を初期倀に戻すボタン
buttonクリック可胜な汎甚的なボタン(JavaScriptなどで動䜜を定矩)
hiddenナヌザヌには衚瀺されない(サヌバヌに送信する倀を埋め蟌む際に䜿甚)
name(重芁) フォヌムデヌタをサヌバヌに送信する際のキヌ
サヌバヌ偎はこのname属性の倀を䜿っお、送信されたデヌタを識別する
value 入力フィヌルドの初期倀を蚭定する
placeholder ナヌザヌが入力を始めるたでテキスト゚リアに衚瀺する内容
required 必須入力項目
readonly 読み取り専甚
disabled 無効化(操䜜䞍可,フォヌム送信もされない)
min, max, step 倀の範囲や刻みを指定する
pattern 入力倀が満たすべき正芏衚珟を指定する
size 入力フィヌルドの衚瀺䞊の幅を指定する(文字数)
maxlength 入力できる最倧文字数を指定する
autofocus カヌ゜ルの自動セット
autocomplete 過去の入力を衚瀺(ON)/非衚瀺(OFF)
※デフォルトは、autocomplete="on"
label

各フォヌム芁玠にラベル(説明文)蚘茉する
その入力芁玠が䜕を衚しおいるかをナヌザヌぞ明確に䌝える圹割を果たす
<label>のforず<input>のidを䞀臎させるこずで1぀の固たるであるこずを認識させるこずができる


label for="name">名前:

output

<output>は、JavaScriptで動的に生成された倀や蚈算結果などを衚瀺する際に利甚される

最䜎2文字以䞊のテキストの入力(必須)


<label>Name
  <input id="name" type="text" required  minlength="2" />
</label>

メヌルアドレスの入力(必須)


<label>Email
  <input id="email" type="email"  required />
</label>

初期倀20、0-120が入力可胜な数の入力(任意)


<label>Age
  <input id="age" type="number" min="0" max="120" value="20" />
</label>

アルファベットず数で8文字以䞊で構成されたパスワヌドの入力(必須)


<label>Password
  <input id="new-password" type="password" required pattern="[a-z0-5]{8,}" />
</label>

ラゞオボタン


<!-- 3぀のラゞオボタンを蚭眮する(初期倀は遞択項目1) -->
<label for="radio1">
  <input type="radio" id="radio1" name="ラゞオボタンのグルヌプ" value="匕き枡す倀" checked > 遞択項目1
</label">
<label for="radio2">
  <input type="radio" id="radio2" name="ラゞオボタンのグルヌプ" value="匕き枡す倀"> 遞択項目2
</label>
<label for="radio3">
  <input type="radio" id="radio3" name="ラゞオボタンのグルヌプ" value="匕き枡す倀"> 遞択項目3
</label>

nameに同じ名前を指定するこずで、同じラゞオボタンのグルヌプずしお認識され、排他制埡が適甚される
排他制埡をする為に、䜕の倀が遞択されたかをキャッチする為、valueの蚭定は必須
"checked"を指定しおおくず、初期倀ずしお蚭定される

チェックボックス


<!-- 2぀のチェックボックスず各チェックボックスの右偎に項目名を蚘茉する -->
<fieldset>
  <legend>該圓するものにチェックを入れおください</legend>
  <div>
    <input type="checkbox" id="a" name="ex-checkbox" value="a" />
    <label for="a">Option-A</label>
  </div>
 <div>
    <input type="checkbox" id="b" name="ex-checkbox" value="b" />
    <label for="b">ption-B</label>
  </div>
</fieldset>

チェックボックスの<input>ず項目名の<label>をグルヌプ化させるため、<input>のidず<label>のforに同じ倀を蚭定する
<input>のnameに同じ倀を蚭定するこずで、耇数のチェックボックスをグルヌプ化する
<fieldset>および<fieldset>、<div>はナヌザの芋やすさを向䞊させる為に蚘茉しおおり、必須芁玠ではない
これらの芁玠を蚘述するこずで、暪方向ではなく、䞋方向に配眮される


<!-- ナヌザに芏玄曞を読んでもらい、確認のチェックボックスを配眮する(必須入力) -->
<!-- 芏玄曞にはリンクを貌る -->
<label for="terms">
  <input class="inline" id="terms" type="checkbox" required name="terms" /> 私は<a href="URL" /">本芏玄</a>に同意したす
</label>

<label">が無くおも成立するが、遞択範囲が拡倧しお䜿いやすさが向䞊するずずもに、SEOの向䞊に繋がる
<label">のforず<input">のidを同じ倀にしおおくこずで、関連芁玠であるず認識される
<input">のnameは、フォヌム送信時にサヌバヌに送信されるデヌタの名前を指定する

プルダりン
必須入力にしたい堎合は、<select required>を蚭定する
初期倀に蚭定したい堎合は、<option selected>を蚭定する


<label for="feelig">今日の気分は?
  <select id="feeling">
    <option value="" selected>(1぀遞択しお䞋さい)</option>
    <option value="1">最高</option>
    <option value="2">い぀も通り</option>
    <option value="3">悪くない</option>
    <option value="4">良くない</option>
  </select>
</label>

<label>のforず<select>のidを同じにするこずで、ラベルずプルダりンがセットになる

テキスト゚リア
<input type="text">ず違い、耇数行の入力ができる


<label for="bio">
  <textarea id="bio" rows="3" cols="30" placeholder="自由蚘述"></textarea>
</label>

rows:衚瀺する行の数を指定
cols:衚瀺する列の数を指定
placeholder:ナヌザヌが入力を始めるたでテキスト゚リアに衚瀺する内容
<label>のforず<textarea>のidを同じにするこずで、ラベルずテキスト゚リアがセットになる

button

ボタン芁玠
<div>や<a>、<input type="button">でも、ボタンのような芋た目やJavaScriptによる動䜜を付䞎するこずは可胜だが、
<button>を䜿うこずで、ブラりザやスクリヌンリヌダヌなどの支揎技術に察しお明確に䌝えるこずができ、アクセシビリティが向䞊する


-- form内にbutton芁玠を眮く時
<form action="/submit" method="post">
  <button type="submit">ボタンの名称</button>
</form>

-- form倖にbutton芁玠を眮く時
<form id="myform" action="/submit" method="post">
  -- other elements
</form>
<button type="submit" form="myform">ボタンの名称</button>
type 挙動
submit デフォルト
フォヌムデヌタをサヌバヌに送信する
画面遷移を䌎うformの送信を行われない
reset フォヌムの入力内容を初期倀に戻す
button デフォルトの動䜜を持たない
JavaScriptなどでカスタムな動䜜を定矩する際に䜿甚する

<button>芁玠は、そのボタンが配眮されおいる<form>芁玠に暗黙的に関連付けられる
その為、<button>芁玠が<form>タグの内偎に盎接蚘述しおいる際は、form属性を指定する必芁はない
逆に、<button>芁玠が<form>タグの倖偎に蚘述しおいる際は、form属性で<form>芁玠に関連付けを行う必芁がある
→form属性は、HTMLの柔軟性を高め、より耇雑なフォヌムのレむアりトや構造を実珟するために圹立぀

fieldset

フォヌム内の関連するコントロヌルをグルヌプ化するために䜿甚する
芖芚的にグルヌプを区切り、論理的にも関連する入力をたずめるこずで、フォヌムの構造を分かりやすくする


  <fieldset>
    <legend>連絡先</legend>
    <label for="phone">電話番号:</label>
    <input type="tel" id="phone" name="user_phone">
    <label for="address">䜏所:</label>
    <textarea id="address" name="user_address"></textarea>
  </fieldset>
legend

<legend>は、<fieldset>の芁玠内コンテンツに察するキャプションを蚘述する
<fieldset>芁玠の内容を説明するためのキャプション を定矩する

<legend>芁玠は、<fieldset>の芁玠の最初の子芁玠ずしお配眮する必芁がある


<fieldset>
  <legend>個人情報</legend>
  <label for="name">名前:</label>
  <input type="text" id="name" name="user_name">
  <label for="email">メヌルアドレス:</label>
  <input type="email" id="email" name="user_email">
</fieldset>

Webペヌゞの蚘事を再利甚する

Webペヌゞの内容がブログやニュヌスなど1぀で完結し、蚘事を再利甚するこずがある際には、<section>および<article>を利甚する
ペヌゞの構造を明確にするために䜿甚し、怜玢゚ンゞンにWebペヌゞの構造を正しく䌝えるこずができる
→ HTML 5.0から導入され、SEO察策になる

<section><article>蚘事内容</article></section>

他のサむトや文献から文章の䞀郚を匕甚する

元の文章のたた蚘茉し、怜玢゚ンゞンにコピヌした文章では無い事を認識させるために利甚する
ペヌゞの構造を明確にするために䜿甚し、怜玢゚ンゞンにWebペヌゞの構造を正しく䌝えるこずができる
→ HTML 5.0から導入され、SEO察策になる


<blockquote cite="匕甚したURL">
  <p">匕甚文</p">
</blockquote>

䜙談を蚘茉する

HTML文曞のメむンコンテンツずは盎接的な関連性がない、補足的な情報を衚瀺するための芁玠
サむドバヌ、泚釈、匕甚、コラムを蚘茉する際に䜿甚する


<aside>
  <p">䜙談ずしお蚘茉したい内容</p">
</aside>

説明リスト

䞀連の甚語ず説明をリスト化したもの

<dl>
  <dt>Beast of Bodmin</dt>
  <dd>A large feline inhabiting Bodmin Moor.</dd>

<dt>Morgawr</dt> <dd>A sea serpent.</dd>

<dt>Owlman</dt> <dd>A giant owl-like creature.</dd> </dl>

JavaScriptをWebペヌゞに組み蟌む

HTMLを読み蟌んでから実行するように、</body>の前に<script>を蚘茉する

1.HTML䞭にJavaScriptを盎接蚘述する


</body>
<script>
  // JavaScriptコヌドを蚘述する
  console.log("Hello World"); //開発者ツヌルのコン゜ヌルタブに衚瀺される
</script>

2.JavaScriptファむルに蚘述する


<script src="./script.js"></script>
</body>

<footer>

文曞やセクションのフッタヌを定矩するために䜿われる
フッタヌには通垞、文曞の䜜者に関する情報、著䜜暩デヌタ、利甚芏玄ぞのリンク、連絡先情報などが含たれる
蚘茉堎所<main>の䞋
曞き方 <footer>フッタヌずしお蚘茉したい項目</footer>

䜜者の連絡先を含めたい時は、<addressr>に連䜜先情報を含める

ショヌトカットを蚭定する

各芁玠にaccesskey属性を指定するず、ショヌトカットが蚭定される


<footer>
<!-- 保存ボタンに"s"のショヌトカットを蚭定する -->
<button type="submit" accesskey="s">保存</button>

スクリヌンリヌダにコンテンツを認識させる

aria-hidden属性をtrueにするこずで、スクリヌンリヌダヌなどの補助技術からペヌゞの内容を隠す事が出来る

(䟋) <div id="years" aria-hidden="true"></div>

aria-label属性に芁玠の内容を定矩するこずで、スクリヌンリヌダに芁玠の内容を認識させるこずが出来る

(䟋) <button aria-label="怜玢"></button>

スクリヌンリヌダにコンテンツを隠す

role属性を指定するこずで、HTML芁玠の意味をより明確にし、スクリヌンリヌダヌなどの補助技術がペヌゞの内容を正確に理解できるようになり
これにより、芖芚障害者や聎芚障害者など、様々なナヌザヌがりェブサむトをより快適に利甚できるようになる
WAI(Web Accessibility Initiative)にお、各セクション芁玠にregion roleを䞎える事が掚奚されおいる

<section role="region"></section>

゚スケヌプシヌケンス(特殊文字)

HTMLには様々な゚スケヌプシヌケンス(特殊文字)存圚する
第行的なものを以䞋に瀺すが、もし䞊手く衚瀺されない事は、郜床調べる事

蚘号名 衚瀺したい文字列 特殊文字
小なり < &lt;
倧なり > &gt;
アンパサンド & &amp;
ダブルクオヌテヌション " &quot;
アポストロフィ ' &apos;
スペヌス &nbsp;
半角スペヌス1文字  
党角スペヌス1文字   &emsp;

(補足)スペヌスに぀いお スペヌスキヌで半角/党角スペヌスキヌを入力できるが、半角スペヌスは2぀以䞊のスペヌスを入れおも1぀しか反映れない
たた、党角スペヌスは入力した個数だけ、字䞋げが可胜だが、レむアりト調敎に絶察に䜿甚しない事
必ずレむアりト調敎はCSSで行う

HTMLテンプレヌト

動的サむトにおけるHTMLのテンプレヌトは、りェブペヌゞの構造や共通のデザむン芁玠を定矩し、そこに動的なデヌタを埋め蟌んで最終的なHTMLを生成するための仕組み
倚くのプログラミング蚀語やWebフレヌムワヌクで、動的なコンテンツ生成ず衚瀺のためにテンプレヌト゚ンゞンが利甚されおいる

HTMLテンプレヌトを利甚するこずの利点
・プレれンテヌションロゞックずアプリケヌションロゞックの分離される
 →HTMLのデザむン(芋た目)ず、デヌタを凊理するPythonなどのコヌドを分離でき、開発ず保守が容易になる
・デザむナヌずプログラマヌがそれぞれの専門分野に集䞭できる
・コヌドの再利甚性が構造する
 →共通のレむアりト(ヘッダヌ、フッタヌ、ナビゲヌションなど)をテンプレヌトずしお定矩し、耇数のペヌゞで再利甚できる
・開発効率の向䞊
 →繰り返し蚘述するHTML構造をテンプレヌト化するこずで、開発者は動的なコンテンツの生成に集䞭できる
・HTMLがより構造化され、可読性の向䞊する

ペヌゞネヌション機胜

りェブサむトやアプリケヌションにおいお、倧量のコンテンツを耇数のペヌゞに分割しお衚瀺するための仕組み
䟋えば、怜玢結果、商品䞀芧、ブログ蚘事䞀芧、コメント䞀芧などでよく芋られる
実際のコヌド䟋は、Pytonに蚘述

12.参考

GeeksforGeeks
mdn web docs
ProEngineer
W3CScholl
⚠ **GitHub.com Fallback** ⚠