記事したい(article)
<main>
<article>
<header>
<h1>記事のタイトル</h1>
<p>公開日: <time datetime="2026-08-30">2026年8月30日</time></p>
</header>
<p>記事の本文...</p>
<footer>
<p>著者: くま</p>
</footer>
</article>
</main>
articleタグは、それ単体で完結するひとまとまりの内容を表すタグです。
「その部分だけを切り出して、他の場所に置いても意味が通じるか」が使い分けの目安です。
ブログ記事、ニュース記事、フォーラムの投稿、商品カード、コメント1件などが該当します。
各articleには見出し(h1〜h6)を付けます。
見出しがないと、そのまとまりが何なのかが伝わらず、
スクリーンリーダーの見出し一覧やページのアウトラインにも表示されません。
見出しを付けられないなら、articleではなくdivを使います。
articleの中には、headerタグとfooterタグを置けます。
headerにはタイトルや公開日など記事の冒頭にまとまる情報を、
footerには著者情報やタグなど末尾に付ける情報を入れます。
どちらも省略でき、articleの直下にh1とpを並べるだけでもかまいません。
記事一覧したい
<main>
<h1>ブログ記事一覧</h1>
<article>
<h2><a href="/blog/1">1本目の記事</a></h2>
<p>記事の要約...</p>
</article>
<article>
<h2><a href="/blog/2">2本目の記事</a></h2>
<p>記事の要約...</p>
</article>
</main>
articleタグは1つのページに複数置けます。
記事一覧のように同じ形のまとまりが並ぶ場合は、それぞれをarticleタグで囲みます。
一覧では本文の代わりに要約だけを入れますが、
その1件が「その記事を表すまとまり」なのでarticleが適切です。
コメント・レビューしたい
<article class="post">
<h2>記事のタイトル</h2>
<p>記事の本文...</p>
</article>
<section class="comments">
<h2>コメント</h2>
<article class="comment">
<h3>ユーザーA</h3>
<p>コメントの本文...</p>
<footer><time datetime="2026-08-30">2026年8月30日</time></footer>
<article class="comment">
<h4>ユーザーB</h4>
<p>返信の本文...</p>
</article>
</article>
</section>
記事へのコメントや商品レビューは、1件ずつが独立した投稿なのでarticleで囲みます。
返信は親コメントに属しつつ、それ自体も1件の投稿です。
このようにarticleの中にarticleを入れられる、数少ないパターンです。
カードしたい
<section>
<h2>おすすめ商品</h2>
<article class="card">
<img src="product-a.jpg" alt="">
<h3>商品A</h3>
<p>¥1,980</p>
<a href="/products/a">詳細を見る</a>
</article>
<article class="card">
<img src="product-b.jpg" alt="">
<h3>商品B</h3>
<p>¥2,480</p>
<a href="/products/b">詳細を見る</a>
</article>
</section>
商品カードやユーザーカードのように、
どこに置いても「その1件を表すまとまり」として成り立つものはarticleです。
カードを並べる親には、見出しを持つsectionを使うとまとまりが明確になります。
タイムラインしたい
<main>
<h1>タイムライン</h1>
<article class="post">
<h2>投稿者名</h2>
<p>投稿の本文...</p>
<footer><time datetime="2026-08-30T12:00">12:00</time></footer>
</article>
<article class="post">
<h2>投稿者名</h2>
<p>投稿の本文...</p>
<footer><time datetime="2026-08-30T12:05">12:05</time></footer>
</article>
</main>
SNSのタイムラインのように、投稿が時系列で並ぶ画面でも、
1投稿ずつをarticleで囲みます。
投稿単体を別の画面(投稿の詳細ページなど)に表示しても意味が通じるので、articleが適切です。